Hi,
I have a problem with the execution of an action for my timers.
I am using JBPM 3.2.2 with Tomcat and try to execute a process with a timer on 
2 tasks in a fork.

The part of the process which give me troubles is the following :


  | <fork name="fork1">
  |       <transition name="To client" to="Client validation"></transition>
  |       <transition name="To broker" to="Broker validation"></transition>
  |    </fork>
  |    <task-node name="Client validation">
  |       <task name="client complete and validate informations" 
swimlane="client">
  |             <timer name="reminder1" duedate="30 seconds">
  |                     <action name="Send a time-out notice for client" 
class="common.processhandlers.DueDateHandler"></action>
  |             </timer>
  |       </task>
  |       <transition name="Client informations completed" 
to="join1"></transition>
  |    </task-node>
  |    <task-node name="Broker validation">
  |       <task name="broker complete and validate informations" 
swimlane="broker">
  |             <timer name="reminder2" duedate="30 seconds">
  |                     <action name="Send a time-out notice for broker" 
class="common.processhandlers.DueDateHandler"></action>
  |             </timer>
  |       </task>
  |       <transition name="Broker informations completed" 
to="join1"></transition>
  |    </task-node>
  |    <join name="join1">
  |       <transition name="All informations available" to="end"></transition>
  |    </join>
  | 

The class DueDateHandler i try to execute in both timer is in the sources of 
the web application executing the process and do nothing but displaying a 
message.

When i try to execute this process and the duedate for the timers expire, i get 
the following Error :



  | ERROR - def.AbstractFlushingEventListener - 301 - Could not synchronize 
database state with session
  | org.hibernate.StaleObjectStateException: Row was updated or deleted by 
another transaction (or unsaved-value mapping was incorrect): 
[org.jbpm.job.Timer#21383]
  |     at 
org.hibernate.persister.entity.AbstractEntityPersister.check(AbstractEntityPersister.java:1765)
  |     at 
org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2407)
  |     at 
org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2307)
  |     at 
org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2607)
  |     at 
org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:92)
  |     at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:250)
  |     at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:234)
  |     at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:142)
  |     at 
org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
  |     at 
org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
  |     at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
  |     at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:338)
  |     at 
org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
  |     at 
org.jbpm.persistence.db.DbPersistenceService.commit(DbPersistenceService.java:256)
  |     at 
org.jbpm.persistence.db.DbPersistenceService.close(DbPersistenceService.java:214)
  |     at org.jbpm.svc.Services.close(Services.java:225)
  |     at org.jbpm.JbpmContext.close(JbpmContext.java:139)
  |     at 
org.jbpm.job.executor.JobExecutorThread.acquireJobs(JobExecutorThread.java:144)
  |     at 
org.jbpm.job.executor.JobExecutorThread.run(JobExecutorThread.java:58)
  | INFO - db.DbPersistenceService - 258 - optimistic locking failed
  | INFO - svc.Services - 229 - problem closing service 'persistence': 
optimistic locking failed
  | WARN - StatefulPersistenceContext.ProxyWarnLog - 615 - Narrowing proxy to 
class org.jbpm.graph.node.TaskNode - this operation breaks ==
  | WARN - StatefulPersistenceContext.ProxyWarnLog - 615 - Narrowing proxy to 
class org.jbpm.graph.node.TaskNode - this operation breaks ==
  | ERROR - instantiation.Delegation - 142 - couldn't load delegation class 
'common.processhandlers.DueDateHandler'
  | java.lang.ClassNotFoundException: class 
'common.processhandlers.DueDateHandler' could not be found by the process 
classloader
  |     at 
org.jbpm.instantiation.ProcessClassLoader.findClass(ProcessClassLoader.java:118)
  |     at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
  |     at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
  |     at org.jbpm.instantiation.Delegation.instantiate(Delegation.java:140)
  |     at org.jbpm.instantiation.Delegation.getInstance(Delegation.java:125)
  |     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  |     at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  |     at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  |     at java.lang.reflect.Method.invoke(Method.java:597)
  |     at 
org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:157)
  |     at 
org.jbpm.instantiation.Delegation$$EnhancerByCGLIB$$87bad03b.getInstance(<generated>)
  |     at org.jbpm.graph.def.Action.execute(Action.java:121)
  |     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  |     at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  |     at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  |     at java.lang.reflect.Method.invoke(Method.java:597)
  |     at 
org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:157)
  |     at 
org.jbpm.graph.def.Action$$EnhancerByCGLIB$$322143d.execute(<generated>)
  |     at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:264)
  |     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  |     at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  |     at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  |     at java.lang.reflect.Method.invoke(Method.java:597)
  |     at 
org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:157)
  |     at 
org.jbpm.taskmgmt.def.Task$$EnhancerByCGLIB$$b38133b8.executeAction(<generated>)
  |     at org.jbpm.job.Timer.execute(Timer.java:56)
  |     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  |     at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  |     at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  |     at java.lang.reflect.Method.invoke(Method.java:597)
  |     at 
org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:157)
  |     at org.jbpm.job.Job$$EnhancerByCGLIB$$7970239a.execute(<generated>)
  |     at 
org.jbpm.job.executor.JobExecutorThread.executeJob(JobExecutorThread.java:164)
  |     at 
org.jbpm.job.executor.JobExecutorThread.run(JobExecutorThread.java:64)
  | ERROR - instantiation.Delegation - 165 - couldn't instantiate delegation 
class 'common.processhandlers.DueDateHandler'
  | java.lang.NullPointerException
  |     at 
org.jbpm.instantiation.FieldInstantiator.newInstance(FieldInstantiator.java:105)
  |     at 
org.jbpm.instantiation.FieldInstantiator.instantiate(FieldInstantiator.java:48)
  |     at org.jbpm.instantiation.Delegation.instantiate(Delegation.java:163)
  |     at org.jbpm.instantiation.Delegation.getInstance(Delegation.java:125)
  |     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  |     at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  |     at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  |     at java.lang.reflect.Method.invoke(Method.java:597)
  |     at 
org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:157)
  |     at 
org.jbpm.instantiation.Delegation$$EnhancerByCGLIB$$87bad03b.getInstance(<generated>)
  |     at org.jbpm.graph.def.Action.execute(Action.java:121)
  |     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  |     at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  |     at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  |     at java.lang.reflect.Method.invoke(Method.java:597)
  |     at 
org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:157)
  |     at 
org.jbpm.graph.def.Action$$EnhancerByCGLIB$$322143d.execute(<generated>)
  |     at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:264)
  |     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  |     at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  |     at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  |     at java.lang.reflect.Method.invoke(Method.java:597)
  |     at 
org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:157)
  |     at 
org.jbpm.taskmgmt.def.Task$$EnhancerByCGLIB$$b38133b8.executeAction(<generated>)
  |     at org.jbpm.job.Timer.execute(Timer.java:56)
  |     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  |     at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  |     at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  |     at java.lang.reflect.Method.invoke(Method.java:597)
  |     at 
org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:157)
  |     at org.jbpm.job.Job$$EnhancerByCGLIB$$7970239a.execute(<generated>)
  |     at 
org.jbpm.job.executor.JobExecutorThread.executeJob(JobExecutorThread.java:164)
  |     at 
org.jbpm.job.executor.JobExecutorThread.run(JobExecutorThread.java:64)
  | ERROR - def.GraphElement - 275 - action threw exception: null
  | java.lang.NullPointerException
  |     at org.jbpm.graph.def.Action.execute(Action.java:122)
  |     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  |     at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  |     at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  |     at java.lang.reflect.Method.invoke(Method.java:597)
  |     at 
org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:157)
  |     at 
org.jbpm.graph.def.Action$$EnhancerByCGLIB$$322143d.execute(<generated>)
  |     at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:264)
  |     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  |     at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  |     at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  |     at java.lang.reflect.Method.invoke(Method.java:597)
  |     at 
org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:157)
  |     at 
org.jbpm.taskmgmt.def.Task$$EnhancerByCGLIB$$b38133b8.executeAction(<generated>)
  |     at org.jbpm.job.Timer.execute(Timer.java:56)
  |     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  |     at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  |     at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  |     at java.lang.reflect.Method.invoke(Method.java:597)
  |     at 
org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:157)
  |     at org.jbpm.job.Job$$EnhancerByCGLIB$$7970239a.execute(<generated>)
  |     at 
org.jbpm.job.executor.JobExecutorThread.executeJob(JobExecutorThread.java:164)
  |     at 
org.jbpm.job.executor.JobExecutorThread.run(JobExecutorThread.java:64)
  | WARN - job.Timer - 62 - timer action threw exception
  | org.jbpm.graph.def.DelegationException
  |     at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:387)
  |     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  |     at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  |     at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  |     at java.lang.reflect.Method.invoke(Method.java:597)
  |     at 
org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:157)
  |     at 
org.jbpm.graph.def.ProcessDefinition$$EnhancerByCGLIB$$c4ed9d31.raiseException(<generated>)
  |     at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:378)
  |     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  |     at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  |     at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  |     at java.lang.reflect.Method.invoke(Method.java:597)
  |     at 
org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:157)
  |     at 
org.jbpm.graph.node.TaskNode$$EnhancerByCGLIB$$45bbca9f.raiseException(<generated>)
  |     at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:378)
  |     at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:281)
  |     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  |     at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  |     at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  |     at java.lang.reflect.Method.invoke(Method.java:597)
  |     at 
org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:157)
  |     at 
org.jbpm.taskmgmt.def.Task$$EnhancerByCGLIB$$b38133b8.executeAction(<generated>)
  |     at org.jbpm.job.Timer.execute(Timer.java:56)
  |     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  |     at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  |     at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  |     at java.lang.reflect.Method.invoke(Method.java:597)
  |     at 
org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:157)
  |     at org.jbpm.job.Job$$EnhancerByCGLIB$$7970239a.execute(<generated>)
  |     at 
org.jbpm.job.executor.JobExecutorThread.executeJob(JobExecutorThread.java:164)
  |     at 
org.jbpm.job.executor.JobExecutorThread.run(JobExecutorThread.java:64)
  | Caused by: java.lang.NullPointerException
  |     at org.jbpm.graph.def.Action.execute(Action.java:122)
  |     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  |     at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  |     at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  |     at java.lang.reflect.Method.invoke(Method.java:597)
  |     at 
org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:157)
  |     at 
org.jbpm.graph.def.Action$$EnhancerByCGLIB$$322143d.execute(<generated>)
  |     at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:264)
  |     ... 15 more
  | 


The class loader won't find the action to execute for the timers while the 
class is present in the application.

I tried many things but couldn't find a solution to this problem.


View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4136618#4136618

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4136618
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to