1 2 Previous Next 17 Replies Latest reply on Feb 12, 2008 2:59 PM by torsty

    jbpm timer transaction issues

    pbrewer_uk

      I'm using Seam 2.0.0.GA with jbpm 3.2.1.GA and have a simple timer process that simple creates a task and if it is not completed by a user within 1 minute a timer fires and progresses the workflow automatically, writing out messages to the logs as it goes:

      <?xml version="1.0" encoding="UTF-8"?>
      <process-definition xmlns="urn:jbpm.org:jpdl-3.1"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="urn:jbpm.org:jpdl-3.1 http://jbpm.org/jpdl-3.1.xsd"
       name="timerTest">
      
       <start-state name="start">
       <transition name="" to="timerTest" />
       </start-state>
      
       <task-node name="timerTest">
       <event type="node-enter">
       <action expression="#{timerTestWorkflow.logNodeEnter}" />
       </event>
       <event type="node-leave">
       <action expression="#{timerTestWorkflow.logNodeLeave}" />
       </event>
       <task name="timerTestTask" description="TimerTestTask">
       <assignment actor-id="admin" />
       <event type="task-create">
       <action expression="#{timerTestWorkflow.logTaskCreate}" />
       </event>
       <event type="timer-create">
       <action expression="#{timerTestWorkflow.logTimerCreate}" />
       </event>
       <timer duedate="1 minute" transition="finished">
       <action expression="#{timerTestWorkflow.logTimerFired}" />
       </timer>
       </task>
       <transition name="finished" to="end" />
       </task-node>
      
       <end-state name="end"></end-state>
      </process-definition>
      


      However, when the timer fires I get the following exception, and the workflow doesn't complete.

      2007-11-13 14:34:44,863 DEBUG [org.jbpm.job.executor.JobExecutorThread] acquiring jobs for execution...
      2007-11-13 14:34:44,863 DEBUG [org.jbpm.configuration.JbpmContextInfo] creating jbpm context with service factories '[message, tx, scheduler, authentication, persistence, logging]'
      2007-11-13 14:34:44,863 DEBUG [org.jbpm.JbpmContext] creating org.jbpm.JbpmContext@346072
      2007-11-13 14:34:44,863 DEBUG [org.jbpm.persistence.db.DbPersistenceServiceFactory] creating persistence service
      2007-11-13 14:34:44,863 DEBUG [org.jbpm.persistence.db.DbPersistenceService] creating hibernate session
      2007-11-13 14:34:44,863 DEBUG [org.jbpm.job.executor.JobExecutorThread] querying for acquirable job...
      2007-11-13 14:34:44,863 DEBUG [org.jbpm.job.executor.JobExecutorThread] trying to obtain a lock for 'timer(timerTestTask,07-11-13 14:34:42,667,TaskInstance: 9,Token: 15)'
      2007-11-13 14:34:44,878 WARN [org.hibernate.engine.StatefulPersistenceContext.ProxyWarnLog] Narrowing proxy to class org.jbpm.graph.node.TaskNode - this operation breaks ==
      2007-11-13 14:34:44,878 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] initializing collection [org.jbpm.taskmgmt.def.Task.exceptionHandlers#1619]
      2007-11-13 14:34:44,878 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] checking second-level cache
      2007-11-13 14:34:44,878 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] collection initialized from cache
      2007-11-13 14:34:44,878 DEBUG [org.jbpm.JbpmContext] closing jbpmContext org.jbpm.JbpmContext@346072
      2007-11-13 14:34:44,878 DEBUG [org.jbpm.svc.Services] closing service 'persistence': org.jbpm.persistence.db.DbPersistenceService@1457b0f
      2007-11-13 14:34:44,878 DEBUG [org.jbpm.persistence.db.DbPersistenceService] flushing hibernate session SessionImpl(PersistenceContext[entityKeys=[EntityKey[org.jbpm.job.Job#9], EntityKey[org.jbpm.graph.exe.Token#15], EntityKey[org.jbpm.taskmgmt.exe.TaskInstance#9], EntityKey[org.jbpm.taskmgmt.def.Task#1619]],collectionKeys=[CollectionKey[org.jbpm.taskmgmt.exe.TaskInstance.variableInstances#9], CollectionKey[org.jbpm.taskmgmt.def.Task.events#1619], CollectionKey[org.jbpm.graph.exe.Token.children#15], CollectionKey[org.jbpm.taskmgmt.exe.TaskInstance.comments#9], CollectionKey[org.jbpm.taskmgmt.def.Task.exceptionHandlers#1619], CollectionKey[org.jbpm.taskmgmt.exe.TaskInstance.pooledActors#9], CollectionKey[org.jbpm.graph.exe.Token.comments#15]]];ActionQueue[insertions=[] updates=[] deletions=[] collectionCreations=[] collectionRemovals=[] collectionUpdates=[]])
      2007-11-13 14:34:44,894 DEBUG [org.jbpm.persistence.db.DbPersistenceService] closing hibernate session
      2007-11-13 14:34:44,894 DEBUG [org.jbpm.svc.Services] closing service 'tx': org.jbpm.tx.TxService@2a3502
      2007-11-13 14:34:44,894 DEBUG [org.jbpm.job.executor.JobExecutorThread] obtained locks on following jobs: [timer(timerTestTask,07-11-13 14:34:42,667,TaskInstance: 9,Token: 15)]
      2007-11-13 14:34:44,894 DEBUG [org.jbpm.configuration.JbpmContextInfo] creating jbpm context with service factories '[message, tx, scheduler, authentication, persistence, logging]'
      2007-11-13 14:34:44,894 DEBUG [org.jbpm.JbpmContext] creating org.jbpm.JbpmContext@fe331c
      2007-11-13 14:34:44,894 DEBUG [org.jbpm.persistence.db.DbPersistenceServiceFactory] creating persistence service
      2007-11-13 14:34:44,894 DEBUG [org.jbpm.persistence.db.DbPersistenceService] creating hibernate session
      2007-11-13 14:34:44,894 DEBUG [org.jbpm.job.executor.JobExecutorThread] executing job timer(timerTestTask,07-11-13 14:34:42,667,TaskInstance: 9,Token: 15)
      2007-11-13 14:34:44,894 WARN [org.hibernate.engine.StatefulPersistenceContext.ProxyWarnLog] Narrowing proxy to class org.jbpm.graph.node.TaskNode - this operation breaks ==
      2007-11-13 14:34:44,894 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] initializing collection [org.jbpm.taskmgmt.def.Task.exceptionHandlers#1619]
      2007-11-13 14:34:44,894 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] checking second-level cache
      2007-11-13 14:34:44,894 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] collection initialized from cache
      2007-11-13 14:34:44,894 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] initializing collection [org.jbpm.taskmgmt.def.Task.events#1619]
      2007-11-13 14:34:44,894 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] checking second-level cache
      2007-11-13 14:34:44,894 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] collection initialized from cache
      2007-11-13 14:34:44,894 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] initializing collection [org.jbpm.graph.exe.ProcessInstance.runtimeActions#15]
      2007-11-13 14:34:44,894 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] checking second-level cache
      2007-11-13 14:34:44,894 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] collection not cached
      2007-11-13 14:34:44,910 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] collection initialized
      2007-11-13 14:34:44,910 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] initializing collection [org.jbpm.graph.def.Node.exceptionHandlers#7373]
      2007-11-13 14:34:44,910 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] checking second-level cache
      2007-11-13 14:34:44,910 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] collection initialized from cache
      2007-11-13 14:34:44,910 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] initializing collection [org.jbpm.graph.def.Node.events#7373]
      2007-11-13 14:34:44,910 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] checking second-level cache
      2007-11-13 14:34:44,910 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] collection initialized from cache
      2007-11-13 14:34:44,910 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] initializing collection [org.jbpm.graph.def.ProcessDefinition.exceptionHandlers#567]
      2007-11-13 14:34:44,910 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] checking second-level cache
      2007-11-13 14:34:44,910 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] collection initialized from cache
      2007-11-13 14:34:44,910 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] initializing collection [org.jbpm.graph.def.ProcessDefinition.events#567]
      2007-11-13 14:34:44,910 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] checking second-level cache
      2007-11-13 14:34:44,910 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] collection initialized from cache
      2007-11-13 14:34:44,910 DEBUG [org.jbpm.job.Timer] executing timer 'timer(timerTestTask,07-11-13 14:34:42,667,TaskInstance: 9,Token: 15)'
      2007-11-13 14:34:44,910 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] initializing collection [org.jbpm.graph.exe.ProcessInstance.instances#15]
      2007-11-13 14:34:44,910 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] checking second-level cache
      2007-11-13 14:34:44,910 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] collection not cached
      2007-11-13 14:34:44,910 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] collection initialized
      2007-11-13 14:34:44,910 DEBUG [org.jbpm.graph.def.GraphElement] executing action 'action[#{timerTestWorkflow.logTimerFired}]'
      2007-11-13 14:34:44,925 DEBUG [org.jbpm.configuration.JbpmContextInfo] creating jbpm context with service factories '[message, tx, scheduler, authentication, persistence, logging]'
      2007-11-13 14:34:44,925 DEBUG [org.jbpm.JbpmContext] creating org.jbpm.JbpmContext@17084b8
      2007-11-13 14:34:44,925 DEBUG [org.jbpm.configuration.JbpmContextInfo] creating jbpm context with service factories '[message, tx, scheduler, authentication, persistence, logging]'
      2007-11-13 14:34:44,925 DEBUG [org.jbpm.JbpmContext] creating org.jbpm.JbpmContext@19666a
      2007-11-13 14:34:44,925 DEBUG [org.jbpm.JbpmContext] closing jbpmContext org.jbpm.JbpmContext@19666a
      2007-11-13 14:34:44,925 DEBUG [org.jbpm.persistence.db.DbPersistenceServiceFactory] creating persistence service
      2007-11-13 14:34:44,925 DEBUG [org.jbpm.persistence.db.DbPersistenceService] creating hibernate session
      2007-11-13 14:34:44,925 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] initializing collection [org.jbpm.taskmgmt.exe.TaskInstance.variableInstances#9]
      2007-11-13 14:34:44,925 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] checking second-level cache
      2007-11-13 14:34:44,925 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] collection not cached
      2007-11-13 14:34:44,925 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] collection initialized
      2007-11-13 14:34:44,941 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] initializing collection [org.jbpm.graph.exe.ProcessInstance.instances#15]
      2007-11-13 14:34:44,941 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] checking second-level cache
      2007-11-13 14:34:44,941 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] collection not cached
      2007-11-13 14:34:44,941 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] collection initialized
      2007-11-13 14:34:44,941 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] initializing collection [org.jbpm.context.exe.ContextInstance.tokenVariableMaps#29]
      2007-11-13 14:34:44,941 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] checking second-level cache
      2007-11-13 14:34:44,941 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] collection not cached
      2007-11-13 14:34:44,941 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] collection initialized
      2007-11-13 14:34:44,941 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] initializing collection [org.jbpm.context.exe.TokenVariableMap.variableInstances#13]
      2007-11-13 14:34:44,941 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] checking second-level cache
      2007-11-13 14:34:44,941 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] collection not cached
      2007-11-13 14:34:44,941 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] collection initialized
      2007-11-13 14:34:44,941 INFO [uk.co.iblocks.midas.workflow.TimerTestWorkflow] logTimerFired
      2007-11-13 14:34:44,941 DEBUG [org.jbpm.JbpmContext] closing jbpmContext org.jbpm.JbpmContext@17084b8
      2007-11-13 14:34:44,941 DEBUG [org.jbpm.svc.Services] executing default save operations
      2007-11-13 14:34:44,941 DEBUG [org.jbpm.svc.save.HibernateSaveOperation] saving process instance
      2007-11-13 14:34:44,941 DEBUG [org.jbpm.svc.save.SaveLogsOperation] flushing logs to logging service.
      2007-11-13 14:34:44,941 DEBUG [org.jbpm.svc.save.CascadeSaveOperation] cascading save of 'org.jbpm.graph.exe.ProcessInstance@565388'
      2007-11-13 14:34:44,941 DEBUG [org.jbpm.svc.Services] executing default save operations
      2007-11-13 14:34:44,941 DEBUG [org.jbpm.svc.save.HibernateSaveOperation] saving process instance
      2007-11-13 14:34:44,941 DEBUG [org.jbpm.svc.save.SaveLogsOperation] flushing logs to logging service.
      2007-11-13 14:34:44,941 DEBUG [org.jbpm.svc.save.CascadeSaveOperation] cascading save of 'org.jbpm.graph.exe.ProcessInstance@565388'
      2007-11-13 14:34:44,941 DEBUG [org.jbpm.svc.Services] closing service 'persistence': org.jbpm.persistence.db.DbPersistenceService@1f3ca88
      2007-11-13 14:34:44,941 DEBUG [org.jbpm.persistence.db.DbPersistenceService] flushing hibernate session SessionImpl(PersistenceContext[entityKeys=[EntityKey[org.jbpm.graph.exe.Token#15], EntityKey[org.jbpm.taskmgmt.exe.TaskInstance#9], EntityKey[org.jbpm.context.exe.TokenVariableMap#13], EntityKey[org.jbpm.graph.exe.ProcessInstance#15], EntityKey[org.jbpm.taskmgmt.exe.TaskMgmtInstance#30], EntityKey[org.jbpm.module.exe.ModuleInstance#29]],collectionKeys=[CollectionKey[org.jbpm.taskmgmt.exe.TaskInstance.variableInstances#9], CollectionKey[org.jbpm.taskmgmt.exe.TaskMgmtInstance.taskInstances#30], CollectionKey[org.jbpm.graph.exe.ProcessInstance.runtimeActions#15], CollectionKey[org.jbpm.graph.exe.Token.children#15], CollectionKey[org.jbpm.context.exe.ContextInstance.tokenVariableMaps#29], CollectionKey[org.jbpm.taskmgmt.exe.TaskInstance.comments#9], CollectionKey[org.jbpm.taskmgmt.exe.TaskInstance.pooledActors#9], CollectionKey[org.jbpm.graph.exe.Token.comments#15], CollectionKey[org.jbpm.graph.exe.ProcessInstance.instances#15], CollectionKey[org.jbpm.taskmgmt.exe.TaskMgmtInstance.swimlaneInstances#30], CollectionKey[org.jbpm.context.exe.TokenVariableMap.variableInstances#13]]];ActionQueue[insertions=[] updates=[] deletions=[] collectionCreations=[] collectionRemovals=[] collectionUpdates=[]])
      2007-11-13 14:34:44,941 DEBUG [org.jbpm.persistence.db.DbPersistenceService] closing hibernate session
      2007-11-13 14:34:44,941 DEBUG [org.jbpm.svc.Services] closing service 'tx': org.jbpm.tx.TxService@b1221b
      2007-11-13 14:34:44,941 DEBUG [org.jbpm.svc.Services] closing service 'logging': org.jbpm.logging.db.DbLoggingService@1362c68
      2007-11-13 14:34:44,941 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] initializing collection [org.jbpm.graph.def.Node.leavingTransitions#7373]
      2007-11-13 14:34:44,941 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] checking second-level cache
      2007-11-13 14:34:44,941 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] collection not cached
      2007-11-13 14:34:44,956 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] initializing collection [org.jbpm.graph.def.Transition.exceptionHandlers#9566]
      2007-11-13 14:34:44,956 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] checking second-level cache
      2007-11-13 14:34:44,956 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] collection not cached
      2007-11-13 14:34:44,956 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] collection initialized
      2007-11-13 14:34:44,956 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] collection initialized
      2007-11-13 14:34:44,956 DEBUG [org.jbpm.graph.def.GraphElement] event 'before-signal' on 'TaskNode(timerTest)' for 'Token(/)'
      2007-11-13 14:34:44,956 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] initializing collection [org.jbpm.taskmgmt.exe.TaskMgmtInstance.taskInstances#30]
      2007-11-13 14:34:44,956 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] checking second-level cache
      2007-11-13 14:34:44,956 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] collection not cached
      2007-11-13 14:34:44,956 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] collection initialized
      2007-11-13 14:34:44,972 DEBUG [org.jbpm.graph.def.GraphElement] event 'node-leave' on 'TaskNode(timerTest)' for 'Token(/)'
      2007-11-13 14:34:44,972 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] initializing collection [org.jbpm.graph.def.Event.actions#1272]
      2007-11-13 14:34:44,972 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] checking second-level cache
      2007-11-13 14:34:44,972 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] collection not cached
      2007-11-13 14:34:44,972 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] collection initialized
      2007-11-13 14:34:44,972 DEBUG [org.jbpm.graph.def.GraphElement] executing action 'action[#{timerTestWorkflow.logNodeLeave}]'
      2007-11-13 14:34:44,972 DEBUG [org.jbpm.graph.exe.Token] token[15] is locked by token[15]
      2007-11-13 14:34:45,003 DEBUG [org.jbpm.configuration.JbpmContextInfo] creating jbpm context with service factories '[message, tx, scheduler, authentication, persistence, logging]'
      2007-11-13 14:34:45,003 DEBUG [org.jbpm.JbpmContext] creating org.jbpm.JbpmContext@655c61
      2007-11-13 14:34:45,003 DEBUG [org.jbpm.configuration.JbpmContextInfo] creating jbpm context with service factories '[message, tx, scheduler, authentication, persistence, logging]'
      2007-11-13 14:34:45,003 DEBUG [org.jbpm.JbpmContext] creating org.jbpm.JbpmContext@93efc3
      2007-11-13 14:34:45,003 DEBUG [org.jbpm.JbpmContext] closing jbpmContext org.jbpm.JbpmContext@93efc3
      2007-11-13 14:34:45,003 DEBUG [org.jbpm.persistence.db.DbPersistenceServiceFactory] creating persistence service
      2007-11-13 14:34:45,003 DEBUG [org.jbpm.persistence.db.DbPersistenceService] creating hibernate session
      2007-11-13 14:34:45,003 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] initializing collection [org.jbpm.graph.exe.ProcessInstance.instances#15]
      2007-11-13 14:34:45,003 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] checking second-level cache
      2007-11-13 14:34:45,003 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] collection not cached
      2007-11-13 14:34:45,003 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] collection initialized
      2007-11-13 14:34:45,003 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] initializing collection [org.jbpm.context.exe.ContextInstance.tokenVariableMaps#29]
      2007-11-13 14:34:45,003 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] checking second-level cache
      2007-11-13 14:34:45,003 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] collection not cached
      2007-11-13 14:34:45,003 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] collection initialized
      2007-11-13 14:34:45,003 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] initializing collection [org.jbpm.context.exe.TokenVariableMap.variableInstances#13]
      2007-11-13 14:34:45,003 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] checking second-level cache
      2007-11-13 14:34:45,003 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] collection not cached
      2007-11-13 14:34:45,003 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] collection initialized
      2007-11-13 14:34:45,003 INFO [uk.co.iblocks.midas.workflow.TimerTestWorkflow] logNodeLeave
      2007-11-13 14:34:45,019 DEBUG [org.jbpm.JbpmContext] closing jbpmContext org.jbpm.JbpmContext@655c61
      2007-11-13 14:34:45,019 DEBUG [org.jbpm.svc.Services] executing default save operations
      2007-11-13 14:34:45,019 DEBUG [org.jbpm.svc.save.HibernateSaveOperation] saving process instance
      2007-11-13 14:34:45,019 DEBUG [org.jbpm.svc.save.SaveLogsOperation] flushing logs to logging service.
      2007-11-13 14:34:45,019 DEBUG [org.jbpm.svc.save.CascadeSaveOperation] cascading save of 'org.jbpm.graph.exe.ProcessInstance@101cc3e'
      2007-11-13 14:34:45,019 DEBUG [org.jbpm.svc.Services] executing default save operations
      2007-11-13 14:34:45,019 DEBUG [org.jbpm.svc.save.HibernateSaveOperation] saving process instance
      2007-11-13 14:34:45,019 DEBUG [org.jbpm.svc.save.SaveLogsOperation] flushing logs to logging service.
      2007-11-13 14:34:45,019 DEBUG [org.jbpm.svc.save.CascadeSaveOperation] cascading save of 'org.jbpm.graph.exe.ProcessInstance@101cc3e'
      2007-11-13 14:34:45,019 DEBUG [org.jbpm.svc.Services] closing service 'persistence': org.jbpm.persistence.db.DbPersistenceService@4c61c2
      2007-11-13 14:34:45,019 DEBUG [org.jbpm.persistence.db.DbPersistenceService] flushing hibernate session SessionImpl(PersistenceContext[entityKeys=[EntityKey[org.jbpm.graph.exe.Token#15], EntityKey[org.jbpm.context.exe.TokenVariableMap#13], EntityKey[org.jbpm.graph.exe.ProcessInstance#15], EntityKey[org.jbpm.module.exe.ModuleInstance#30], EntityKey[org.jbpm.module.exe.ModuleInstance#29]],collectionKeys=[CollectionKey[org.jbpm.taskmgmt.exe.TaskMgmtInstance.taskInstances#30], CollectionKey[org.jbpm.graph.exe.ProcessInstance.runtimeActions#15], CollectionKey[org.jbpm.graph.exe.Token.children#15], CollectionKey[org.jbpm.context.exe.ContextInstance.tokenVariableMaps#29], CollectionKey[org.jbpm.graph.exe.Token.comments#15], CollectionKey[org.jbpm.graph.exe.ProcessInstance.instances#15], CollectionKey[org.jbpm.taskmgmt.exe.TaskMgmtInstance.swimlaneInstances#30], CollectionKey[org.jbpm.context.exe.TokenVariableMap.variableInstances#13]]];ActionQueue[insertions=[] updates=[] deletions=[] collectionCreations=[] collectionRemovals=[] collectionUpdates=[]])
      2007-11-13 14:34:45,019 DEBUG [org.jbpm.persistence.db.DbPersistenceService] closing hibernate session
      2007-11-13 14:34:45,019 DEBUG [org.jbpm.svc.Services] closing service 'tx': org.jbpm.tx.TxService@1e5484b
      2007-11-13 14:34:45,019 DEBUG [org.jbpm.svc.Services] closing service 'logging': org.jbpm.logging.db.DbLoggingService@1ed55b9
      2007-11-13 14:34:45,019 DEBUG [org.jbpm.graph.exe.Token] token[15] is unlocked by token[15]
      2007-11-13 14:34:45,019 DEBUG [org.jbpm.graph.def.GraphElement] event 'transition' on 'Transition(finished)' for 'Token(/)'
      2007-11-13 14:34:45,019 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] initializing collection [org.jbpm.graph.def.Transition.events#9566]
      2007-11-13 14:34:45,019 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] checking second-level cache
      2007-11-13 14:34:45,019 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] collection not cached
      2007-11-13 14:34:45,034 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] collection initialized
      2007-11-13 14:34:45,034 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] initializing collection [org.jbpm.graph.def.Node.exceptionHandlers#7374]
      2007-11-13 14:34:45,034 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] checking second-level cache
      2007-11-13 14:34:45,034 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] collection not cached
      2007-11-13 14:34:45,034 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] collection initialized
      2007-11-13 14:34:45,034 DEBUG [org.jbpm.graph.def.GraphElement] event 'node-enter' on 'EndState(end)' for 'Token(/)'
      2007-11-13 14:34:45,034 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] initializing collection [org.jbpm.graph.def.Node.events#7374]
      2007-11-13 14:34:45,034 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] checking second-level cache
      2007-11-13 14:34:45,034 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] collection not cached
      2007-11-13 14:34:45,034 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] collection initialized
      2007-11-13 14:34:45,034 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] initializing collection [org.jbpm.graph.exe.Token.children#15]
      2007-11-13 14:34:45,034 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] checking second-level cache
      2007-11-13 14:34:45,034 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] collection not cached
      2007-11-13 14:34:45,034 TRACE [org.hibernate.event.def.DefaultInitializeCollectionEventListener] collection initialized
      2007-11-13 14:34:45,034 DEBUG [org.jbpm.graph.def.GraphElement] event 'process-end' on 'ProcessDefinition(timerTest)' for 'Token(/)'
      2007-11-13 14:34:45,034 ERROR [org.jbpm.db.JobSession] org.hibernate.TransactionException: could not register synchronization
      2007-11-13 14:34:45,034 DEBUG [org.jbpm.job.executor.JobExecutorThread] exception while executing 'timer(timerTestTask,07-11-13 14:34:42,667,TaskInstance: 9,Token: 15)'
      org.jbpm.JbpmException: couldn't delete jobs for 'org.jbpm.graph.exe.ProcessInstance@d208f1'
       at org.jbpm.db.JobSession.deleteJobsForProcessInstance(JobSession.java:211)
       at org.jbpm.scheduler.db.DbSchedulerService.deleteTimersByProcessInstance(DbSchedulerService.java:54)
       at org.jbpm.graph.exe.ProcessInstance.end(ProcessInstance.java:330)
       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.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:173)
       at org.jbpm.graph.exe.ProcessInstance_$$_javassist_174.end(ProcessInstance_$$_javassist_174.java)
       at org.jbpm.graph.exe.Token.notifyParentOfTokenEnd(Token.java:332)
       at org.jbpm.graph.exe.Token.end(Token.java:304)
       at org.jbpm.graph.exe.Token.end(Token.java:254)
       at org.jbpm.graph.node.EndState.execute(EndState.java:59)
       at org.jbpm.graph.def.Node.enter(Node.java:319)
       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.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:173)
       at org.jbpm.graph.def.Node_$$_javassist_169.enter(Node_$$_javassist_169.java)
       at org.jbpm.graph.def.Transition.take(Transition.java:151)
       at org.jbpm.graph.def.Node.leave(Node.java:394)
       at org.jbpm.graph.node.TaskNode.leave(TaskNode.java:209)
       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.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:173)
       at org.jbpm.graph.def.Node_$$_javassist_169.leave(Node_$$_javassist_169.java)
       at org.jbpm.graph.exe.Token.signal(Token.java:195)
       at org.jbpm.graph.exe.Token.signal(Token.java:158)
       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.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:173)
       at org.jbpm.graph.exe.Token_$$_javassist_105.signal(Token_$$_javassist_105.java)
       at org.jbpm.job.Timer.execute(Timer.java:93)
       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.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:173)
       at org.jbpm.job.Job_$$_javassist_173.execute(Job_$$_javassist_173.java)
       at org.jbpm.job.executor.JobExecutorThread.executeJob(JobExecutorThread.java:164)
       at org.jbpm.job.executor.JobExecutorThread.run(JobExecutorThread.java:64)
      Caused by: org.hibernate.TransactionException: could not register synchronization
       at org.hibernate.transaction.JTATransaction.registerSynchronization(JTATransaction.java:309)
       at org.jbpm.db.JobSession.deleteJobsForProcessInstance(JobSession.java:208)
       ... 45 more
      Caused by: java.lang.NullPointerException
       at org.hibernate.transaction.JTATransaction.registerSynchronization(JTATransaction.java:306)
       ... 46 more
      2007-11-13 14:34:45,050 DEBUG [org.jbpm.JbpmContext] closing jbpmContext org.jbpm.JbpmContext@fe331c
      2007-11-13 14:34:45,050 DEBUG [org.jbpm.svc.Services] closing service 'persistence': org.jbpm.persistence.db.DbPersistenceService@200022
      2007-11-13 14:34:45,050 DEBUG [org.jbpm.persistence.db.DbPersistenceService] flushing hibernate session SessionImpl(PersistenceContext[entityKeys=[EntityKey[org.jbpm.taskmgmt.exe.TaskInstance#9], EntityKey[org.jbpm.graph.def.Action#3053], EntityKey[org.jbpm.graph.exe.Token#15], EntityKey[org.jbpm.graph.def.Event#1272], EntityKey[org.jbpm.graph.def.Action#3054], EntityKey[org.jbpm.graph.def.Event#1271], EntityKey[org.jbpm.graph.def.Event#1274], EntityKey[org.jbpm.taskmgmt.def.Task#1619], EntityKey[org.jbpm.graph.def.Event#1273], EntityKey[org.jbpm.graph.def.ProcessDefinition#567], EntityKey[org.jbpm.graph.def.Event#1275], EntityKey[org.jbpm.graph.node.TaskNode#7373], EntityKey[org.jbpm.graph.def.Node#7374], EntityKey[org.jbpm.graph.def.Transition#9566], EntityKey[org.jbpm.module.exe.ModuleInstance#30], EntityKey[org.jbpm.module.exe.ModuleInstance#29], EntityKey[org.jbpm.job.Job#9], EntityKey[org.jbpm.graph.exe.ProcessInstance#15]],collectionKeys=[CollectionKey[org.jbpm.taskmgmt.exe.TaskInstance.variableInstances#9], CollectionKey[org.jbpm.taskmgmt.def.Task.events#1619], CollectionKey[org.jbpm.graph.exe.Token.children#15], CollectionKey[org.jbpm.context.exe.ContextInstance.tokenVariableMaps#29], CollectionKey[org.jbpm.graph.def.Event.actions#1274], CollectionKey[org.jbpm.taskmgmt.exe.TaskInstance.comments#9], CollectionKey[org.jbpm.graph.def.Transition.events#9566], CollectionKey[org.jbpm.graph.def.Event.actions#1275], CollectionKey[org.jbpm.graph.def.ProcessDefinition.exceptionHandlers#567], CollectionKey[org.jbpm.graph.def.Event.actions#1272], CollectionKey[org.jbpm.graph.def.ProcessDefinition.nodes#567], CollectionKey[org.jbpm.graph.def.Event.actions#1273], CollectionKey[org.jbpm.graph.def.Node.leavingTransitions#7374], CollectionKey[org.jbpm.graph.def.Node.leavingTransitions#7373], CollectionKey[org.jbpm.graph.def.Event.actions#1271], CollectionKey[org.jbpm.graph.def.ProcessDefinition.events#567], CollectionKey[org.jbpm.taskmgmt.exe.TaskMgmtInstance.swimlaneInstances#30], CollectionKey[org.jbpm.graph.node.TaskNode.tasks#7373], CollectionKey[org.jbpm.graph.exe.Token.comments#15], CollectionKey[org.jbpm.graph.exe.ProcessInstance.instances#15], CollectionKey[org.jbpm.graph.def.ProcessDefinition.definitions#567], CollectionKey[org.jbpm.graph.exe.ProcessInstance.runtimeActions#15], CollectionKey[org.jbpm.graph.def.Node.events#7373], CollectionKey[org.jbpm.taskmgmt.def.Task.exceptionHandlers#1619], CollectionKey[org.jbpm.taskmgmt.exe.TaskInstance.pooledActors#9], CollectionKey[org.jbpm.graph.def.Node.exceptionHandlers#7374], CollectionKey[org.jbpm.graph.def.Node.events#7374], CollectionKey[org.jbpm.graph.def.Node.exceptionHandlers#7373], CollectionKey[org.jbpm.graph.def.Node.arrivingTransitions#7373], CollectionKey[org.jbpm.graph.def.Node.arrivingTransitions#7374], CollectionKey[org.jbpm.graph.def.ProcessDefinition.actions#567], CollectionKey[org.jbpm.taskmgmt.exe.TaskMgmtInstance.taskInstances#30], CollectionKey[org.jbpm.graph.def.Transition.exceptionHandlers#9566]]];ActionQueue[insertions=[] updates=[] deletions=[] collectionCreations=[] collectionRemovals=[] collectionUpdates=[]])
      2007-11-13 14:34:45,066 DEBUG [org.jbpm.persistence.db.DbPersistenceService] closing hibernate session
      2007-11-13 14:34:45,066 DEBUG [org.jbpm.svc.Services] closing service 'tx': org.jbpm.tx.TxService@162d2df
      2007-11-13 14:34:45,066 DEBUG [org.jbpm.svc.Services] closing service 'scheduler': org.jbpm.scheduler.db.DbSchedulerService@1023556
      


      If anyone has any idea's how to solve or workaround this problem I would be very grateful. If you need any further info (e.g. configuration etc) please do not hesitate to ask.

      BTW I've also tried using jBpm 3.2.2 which has the same issue.

      Thanks in advance,
      Pete

        • 1. Re: jbpm timer transaction issues
          arussel

          Have you set up JTA in hibernate.cfg.xml of jbpm ?
          mine looks like:

          <!-- JTA transaction properties (begin) -->
           <property name="hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</property>
           <property name="hibernate.transaction.manager_lookup_class">org.hibernate.transaction.JBossTransactionManagerLookup</property>
          

          alex

          • 2. Re: jbpm timer transaction issues
            pbrewer_uk

            Thanks for the speedy reply.

            I have set that property - heres my config in full:
            jbpm.cfg.xml

            <?xml version="1.0" encoding="utf-8"?>
            
            <jbpm-configuration>
            
             <jbpm-context>
             <service name="persistence">
             <factory>
             <bean class="org.jbpm.persistence.db.DbPersistenceServiceFactory">
             <field name="isTransactionEnabled"><false/></field>
             </bean>
             </factory>
             </service>
             <service name="tx" factory="org.jbpm.tx.TxServiceFactory" />
             <service name="message" factory="org.jbpm.msg.db.DbMessageServiceFactory" />
             <service name="scheduler" factory="org.jbpm.scheduler.db.DbSchedulerServiceFactory" />
             <service name="logging" factory="org.jbpm.logging.db.DbLoggingServiceFactory" />
             <service name="authentication" factory="org.jbpm.security.authentication.DefaultAuthenticationServiceFactory" />
            
             <bean name="jbpm.job.executor" class="org.jbpm.job.executor.JobExecutor">
             <field name="jbpmConfiguration"><ref bean="jbpmConfiguration" /></field>
             <field name="name"><string value="JbpmJobExecutor" /></field>
             <field name="nbrOfThreads"><int value="1" /></field>
             <field name="idleInterval"><int value="5000" /></field>
             <field name="maxIdleInterval"><int value="3600000" /></field> <!-- 1 hour -->
             <field name="historyMaxSize"><int value="20" /></field>
             <field name="maxLockTime"><int value="20000" /></field> <!-- 20 sec -->
             <field name="lockMonitorInterval"><int value="10000" /></field> <!-- 10 sec -->
             <field name="lockBufferTime"><int value="5000" /></field> <!-- 5 seconds -->
             </bean>
            
             </jbpm-context>
            
            </jbpm-configuration>
            


            hibernate.cfg.xml
            <?xml version="1.0" encoding="utf-8"?>
            
            <!DOCTYPE hibernate-configuration PUBLIC
             "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
             "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
            
            <hibernate-configuration>
             <session-factory>
            
             <property name="show_sql">false</property>
             <property name="connection.datasource">java:/myDatasource</property>
             <property name="transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</property>
             <property name="transaction.manager_lookup_class">org.hibernate.transaction.JBossTransactionManagerLookup</property>
             <property name="cache.provider_class">org.hibernate.cache.HashtableCacheProvider</property>
             <property name="hbm2ddl.auto">validate</property>
            
             <mapping resource="org/jbpm/graph/action/Script.hbm.xml"/>
            
             <!-- hql queries and type defs -->
             <mapping resource="org/jbpm/db/hibernate.queries.hbm.xml" />
            
             <!-- graph.action mapping files -->
             <mapping resource="org/jbpm/graph/action/MailAction.hbm.xml" />
            
             <!-- graph.def mapping files -->
             <mapping resource="org/jbpm/graph/def/ProcessDefinition.hbm.xml"/>
             <mapping resource="org/jbpm/graph/def/Node.hbm.xml"/>
             <mapping resource="org/jbpm/graph/def/Transition.hbm.xml"/>
             <mapping resource="org/jbpm/graph/def/Event.hbm.xml"/>
             <mapping resource="org/jbpm/graph/def/Action.hbm.xml"/>
             <mapping resource="org/jbpm/graph/def/SuperState.hbm.xml"/>
             <mapping resource="org/jbpm/graph/def/ExceptionHandler.hbm.xml"/>
             <mapping resource="org/jbpm/instantiation/Delegation.hbm.xml"/>
            
             <!-- graph.node mapping files -->
             <mapping resource="org/jbpm/graph/node/StartState.hbm.xml"/>
             <mapping resource="org/jbpm/graph/node/EndState.hbm.xml"/>
             <mapping resource="org/jbpm/graph/node/ProcessState.hbm.xml"/>
             <mapping resource="org/jbpm/graph/node/Decision.hbm.xml"/>
             <mapping resource="org/jbpm/graph/node/Fork.hbm.xml"/>
             <mapping resource="org/jbpm/graph/node/Join.hbm.xml"/>
             <mapping resource="org/jbpm/graph/node/MailNode.hbm.xml" />
             <mapping resource="org/jbpm/graph/node/State.hbm.xml"/>
             <mapping resource="org/jbpm/graph/node/TaskNode.hbm.xml"/>
            
             <!-- context.def mapping files -->
             <mapping resource="org/jbpm/context/def/ContextDefinition.hbm.xml"/>
             <mapping resource="org/jbpm/context/def/VariableAccess.hbm.xml"/>
            
             <!-- taskmgmt.def mapping files -->
             <mapping resource="org/jbpm/taskmgmt/def/TaskMgmtDefinition.hbm.xml"/>
             <mapping resource="org/jbpm/taskmgmt/def/Swimlane.hbm.xml"/>
             <mapping resource="org/jbpm/taskmgmt/def/Task.hbm.xml"/>
             <mapping resource="org/jbpm/taskmgmt/def/TaskController.hbm.xml"/>
            
             <!-- module.def mapping files -->
             <mapping resource="org/jbpm/module/def/ModuleDefinition.hbm.xml"/>
            
             <!-- bytes mapping files -->
             <mapping resource="org/jbpm/bytes/ByteArray.hbm.xml"/>
            
             <!-- file.def mapping files -->
             <mapping resource="org/jbpm/file/def/FileDefinition.hbm.xml"/>
            
             <!-- scheduler.def mapping files -->
             <mapping resource="org/jbpm/scheduler/def/CreateTimerAction.hbm.xml"/>
             <mapping resource="org/jbpm/scheduler/def/CancelTimerAction.hbm.xml"/>
            
             <!-- graph.exe mapping files -->
             <mapping resource="org/jbpm/graph/exe/Comment.hbm.xml"/>
             <mapping resource="org/jbpm/graph/exe/ProcessInstance.hbm.xml"/>
             <mapping resource="org/jbpm/graph/exe/Token.hbm.xml"/>
             <mapping resource="org/jbpm/graph/exe/RuntimeAction.hbm.xml"/>
            
             <!-- module.exe mapping files -->
             <mapping resource="org/jbpm/module/exe/ModuleInstance.hbm.xml"/>
            
             <!-- context.exe mapping files -->
             <mapping resource="org/jbpm/context/exe/ContextInstance.hbm.xml"/>
             <mapping resource="org/jbpm/context/exe/TokenVariableMap.hbm.xml"/>
             <mapping resource="org/jbpm/context/exe/VariableInstance.hbm.xml"/>
             <mapping resource="org/jbpm/context/exe/variableinstance/ByteArrayInstance.hbm.xml"/>
             <mapping resource="org/jbpm/context/exe/variableinstance/DateInstance.hbm.xml"/>
             <mapping resource="org/jbpm/context/exe/variableinstance/DoubleInstance.hbm.xml"/>
             <mapping resource="org/jbpm/context/exe/variableinstance/HibernateLongInstance.hbm.xml"/>
             <mapping resource="org/jbpm/context/exe/variableinstance/HibernateStringInstance.hbm.xml"/>
             <mapping resource="org/jbpm/context/exe/variableinstance/LongInstance.hbm.xml"/>
             <mapping resource="org/jbpm/context/exe/variableinstance/NullInstance.hbm.xml"/>
             <mapping resource="org/jbpm/context/exe/variableinstance/StringInstance.hbm.xml"/>
            
             <!-- job mapping files -->
             <mapping resource="org/jbpm/job/Job.hbm.xml" />
             <mapping resource="org/jbpm/job/Timer.hbm.xml" />
             <mapping resource="org/jbpm/job/ExecuteNodeJob.hbm.xml" />
             <mapping resource="org/jbpm/job/ExecuteActionJob.hbm.xml" />
            
             <!-- taskmgmt.exe mapping files -->
             <mapping resource="org/jbpm/taskmgmt/exe/TaskMgmtInstance.hbm.xml"/>
             <mapping resource="org/jbpm/taskmgmt/exe/TaskInstance.hbm.xml"/>
             <mapping resource="org/jbpm/taskmgmt/exe/PooledActor.hbm.xml"/>
             <mapping resource="org/jbpm/taskmgmt/exe/SwimlaneInstance.hbm.xml"/>
            
             <!-- logging mapping files -->
             <mapping resource="org/jbpm/logging/log/ProcessLog.hbm.xml"/>
             <mapping resource="org/jbpm/logging/log/MessageLog.hbm.xml"/>
             <mapping resource="org/jbpm/logging/log/CompositeLog.hbm.xml"/>
             <mapping resource="org/jbpm/graph/log/ActionLog.hbm.xml"/>
             <mapping resource="org/jbpm/graph/log/NodeLog.hbm.xml"/>
             <mapping resource="org/jbpm/graph/log/ProcessInstanceCreateLog.hbm.xml"/>
             <mapping resource="org/jbpm/graph/log/ProcessInstanceEndLog.hbm.xml"/>
             <mapping resource="org/jbpm/graph/log/ProcessStateLog.hbm.xml"/>
             <mapping resource="org/jbpm/graph/log/SignalLog.hbm.xml"/>
             <mapping resource="org/jbpm/graph/log/TokenCreateLog.hbm.xml"/>
             <mapping resource="org/jbpm/graph/log/TokenEndLog.hbm.xml"/>
             <mapping resource="org/jbpm/graph/log/TransitionLog.hbm.xml"/>
             <mapping resource="org/jbpm/context/log/VariableLog.hbm.xml"/>
             <mapping resource="org/jbpm/context/log/VariableCreateLog.hbm.xml"/>
             <mapping resource="org/jbpm/context/log/VariableDeleteLog.hbm.xml"/>
             <mapping resource="org/jbpm/context/log/VariableUpdateLog.hbm.xml"/>
             <mapping resource="org/jbpm/context/log/variableinstance/ByteArrayUpdateLog.hbm.xml"/>
             <mapping resource="org/jbpm/context/log/variableinstance/DateUpdateLog.hbm.xml"/>
             <mapping resource="org/jbpm/context/log/variableinstance/DoubleUpdateLog.hbm.xml"/>
             <mapping resource="org/jbpm/context/log/variableinstance/HibernateLongUpdateLog.hbm.xml"/>
             <mapping resource="org/jbpm/context/log/variableinstance/HibernateStringUpdateLog.hbm.xml"/>
             <mapping resource="org/jbpm/context/log/variableinstance/LongUpdateLog.hbm.xml"/>
             <mapping resource="org/jbpm/context/log/variableinstance/StringUpdateLog.hbm.xml"/>
             <mapping resource="org/jbpm/taskmgmt/log/TaskLog.hbm.xml"/>
             <mapping resource="org/jbpm/taskmgmt/log/TaskCreateLog.hbm.xml"/>
             <mapping resource="org/jbpm/taskmgmt/log/TaskAssignLog.hbm.xml"/>
             <mapping resource="org/jbpm/taskmgmt/log/TaskEndLog.hbm.xml"/>
             <mapping resource="org/jbpm/taskmgmt/log/SwimlaneLog.hbm.xml"/>
             <mapping resource="org/jbpm/taskmgmt/log/SwimlaneCreateLog.hbm.xml"/>
             <mapping resource="org/jbpm/taskmgmt/log/SwimlaneAssignLog.hbm.xml"/>
            
             </session-factory>
            </hibernate-configuration>
            
            

            Then I start the job executor like so:
            @Name("jbpmScheduler")
            @Scope(ScopeType.APPLICATION)
            @Startup(depends={"org.jboss.seam.bpm.jbpm"})
            @Install(dependencies="org.jboss.seam.bpm.jbpm")
            public class JbpmScheduler {
            
             @Logger
             private Log log ;
            
             @Create
             public void startup() {
             log.info("Starting the jBPM scheduler");
             start() ;
             if (isRunning()) {
             log.info("jBPM scheduler has started.");
             } else {
             log.error("jBPM scheduler was not started.") ;
             }
             }
            
             public JobExecutor getJobExecutor() {
            
             Jbpm jbpm = (Jbpm) Component.getInstance("org.jboss.seam.bpm.jbpm") ;
             if (jbpm != null) {
             return jbpm.getJbpmConfiguration().getJobExecutor() ;
             } else {
             return null ;
             }
             }
            
             private void start() {
             JobExecutor jobExecutor = getJobExecutor() ;
             if (jobExecutor != null) {
             jobExecutor.start() ;
             }
             }
            
             private void stop() {
             JobExecutor jobExecutor = getJobExecutor() ;
             if (jobExecutor != null) {
             try {
             jobExecutor.stopAndJoin() ;
             } catch (InterruptedException e) {
             log.warn( "Could not wait for job executor.", e ) ;
             }
             }
             }
            
            
             private boolean isRunning() {
             return getJobExecutor() != null && getJobExecutor().isStarted() ;
             }
            
             @Destroy
             public void shutdown() {
            
             if (isRunning()) {
             log.info("Stopping the jBPM scheduler.");
             stop() ;
             } else {
             log.debug("jBPM Scheduler can't be stopped because it was not running.");
             }
             }
            
            }
            


            Any further help or comments would be greatly appreciated.

            Many thanks, Pete

            • 3. Re: jbpm timer transaction issues
              arussel

              wild guess:
              using the servlet, jbpm can store the transaction in the threadlocal created at startup by the servlet thread that stays alive until shutdown of the app.

              why don't you use the traditionnal Servlet to check?
              http://docs.jboss.com/jbpm/v3/javadoc/org/jbpm/job/executor/JobExecutorServlet.html
              alex

              • 4. Re: jbpm timer transaction issues
                pbrewer_uk

                Hi Alex, thanks for your continued help.

                Unfortunately, I get the same behaviour whether I initiate the JobExecutor via a seam component or by using the JobExecutorServlet.

                2007-11-14 11:58:05,675 ERROR [org.jbpm.db.JobSession] org.hibernate.TransactionException: could not register synchronization
                


                Has anyone managed to get a timer task to execute successfully with Seam 2.0.0.GA? Better still can anyone else deploy the timerTesk process I posted earlier and get it to work?

                Many thanks, Pete.

                • 5. Re: jbpm timer transaction issues
                  jcruise

                  Are you running on tomcat or Jboss AS?

                  I get this error whenever I have the jbpm scheduler service even configured. It appears whenever I try to close a process instance. So, I've been working around it by just disabling the scheduler service.

                  I'll file a JIRA issue for my problem.

                  • 6. Re: jbpm timer transaction issues
                    jcruise
                    • 7. Re: jbpm timer transaction issues
                      pbrewer_uk

                      Thanks Jamie, I think we have slightly different problems (although possibly/ probably related).

                      I am deploying on JBoss AS 4.2.1.GA and my processes manage to complete successfully, as long as I do not use jbpm timers.

                      My problem occurs when a jbpm timer fires and then I think it trys to commit the transaction but fails, leaving the workflow in an unfinished state.

                      Unfortunately, I cannot comment out:

                      <service name="scheduler" factory="org.jbpm.scheduler.db.DbSchedulerServiceFactory" />
                      


                      because jbpm requires this to actually create the timers.

                      I'd be interested (and not just a little bit grateful) to hear what any of the JBoss team make of this problem?




                      • 8. Re: jbpm timer transaction issues
                        pmuir

                        Pete, did you solve this problem? Sorry, I lost track of it til now.

                        • 9. Re: jbpm timer transaction issues
                          pbrewer_uk

                          Unfortunately, this is still a major problem for me. I'd be grateful for any suggestions you may have.

                          If you need any further info then please don't hesitate to ask.

                          Many thanks, Pete.

                          BTW Are you able to replicate this issue using the code I posted previously?

                          • 10. Re: jbpm timer transaction issues
                            pmuir

                            I haven't tried, but will do after the new year now.

                            • 11. Re: jbpm timer transaction issues
                              pbrewer_uk

                              Thanks Pete. Let me know how you get on, or if you need anything else from me to replicate the problem.

                              • 12. Re: jbpm timer transaction issues

                                Having a similar problem on JBoss AS v4.2.2.

                                Ophir

                                • 13. Re: jbpm timer transaction issues
                                  pbrewer_uk

                                  I'm more than willing to take this task on, but I'll need some pointers on where the cause of the problem lies and how to tackle it. This is now a critical issue for my project, so any help at all would be greatly appreciated.

                                  In addition, I think a related problem can be observed if, for example, a seam timer (using ejb3 timer implementation) causes a process instance to create a jbpm timer:

                                  2008-02-01 11:08:01,065 ERROR [org.jbpm.graph.def.GraphElement] action threw exception: uninitialized proxy passed to save()
                                  org.hibernate.PersistentObjectException: uninitialized proxy passed to save()
                                   at org.hibernate.event.def.DefaultSaveEventListener.reassociateIfUninitializedProxy(DefaultSaveEventListener.java:49)
                                   at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:59)
                                   at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:535)
                                   at org.hibernate.impl.SessionImpl.save(SessionImpl.java:523)
                                   at org.hibernate.impl.SessionImpl.save(SessionImpl.java:519)
                                   at org.jbpm.db.JobSession.saveJob(JobSession.java:100)
                                   at org.jbpm.scheduler.db.DbSchedulerService.createTimer(DbSchedulerService.java:43)
                                   at org.jbpm.scheduler.def.CreateTimerAction.execute(CreateTimerAction.java:67)
                                   at org.jboss.seam.bpm.SeamUserCodeInterceptor$1.process(SeamUserCodeInterceptor.java:80)
                                   at org.jboss.seam.bpm.SeamUserCodeInterceptor$ContextualCall.run(SeamUserCodeInterceptor.java:33)
                                   at org.jboss.seam.bpm.SeamUserCodeInterceptor.executeAction(SeamUserCodeInterceptor.java:74)
                                   at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:253)
                                   at org.jbpm.graph.def.GraphElement.executeActions(GraphElement.java:220)
                                   at org.jbpm.graph.def.GraphElement.fireAndPropagateEvent(GraphElement.java:190)
                                   at org.jbpm.graph.def.GraphElement.fireEvent(GraphElement.java:174)
                                   at org.jbpm.graph.def.Node.enter(Node.java:302)
                                   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.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:173)
                                   at org.jbpm.graph.def.Node_$$_javassist_170.enter(Node_$$_javassist_170.java)
                                   at org.jbpm.graph.def.Transition.take(Transition.java:151)
                                   at org.jbpm.graph.def.Node.leave(Node.java:393)
                                   at org.jbpm.graph.def.Node.leave(Node.java:357)
                                   at org.jbpm.graph.exe.ExecutionContext.leaveNode(ExecutionContext.java:120)
                                   at uk.co.iblocks.midas.workflow.AbstractWorkflow.progress(AbstractWorkflow.java:98)
                                   at uk.co.iblocks.midas.workflow.CancelMemberWorkflow.sendCancellationWarning(CancelMemberWorkflow.java:29)
                                   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.jboss.seam.util.Reflections.invoke(Reflections.java:21)
                                   at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:31)
                                   at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
                                   at org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:31)
                                   at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
                                   at org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:46)
                                   at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
                                   at org.jboss.seam.bpm.BusinessProcessInterceptor.aroundInvoke(BusinessProcessInterceptor.java:49)
                                   at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
                                   at org.jboss.seam.transaction.TransactionInterceptor$1.work(TransactionInterceptor.java:38)
                                   at org.jboss.seam.util.Work.workInTransaction(Work.java:40)
                                   at org.jboss.seam.transaction.TransactionInterceptor.aroundInvoke(TransactionInterceptor.java:32)
                                   at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
                                   at org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:42)
                                   at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
                                   at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:106)
                                   at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:155)
                                   at org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:91)
                                   at uk.co.iblocks.midas.workflow.CancelMemberWorkflow_$$_javassist_8.sendCancellationWarning(CancelMemberWorkflow_$$_javassist_8.java)
                                   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.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:328)
                                   at org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:341)
                                   at org.jboss.el.parser.AstPropertySuffix.invoke(AstPropertySuffix.java:58)
                                   at org.jboss.el.parser.AstValue.invoke(AstValue.java:96)
                                   at org.jboss.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
                                   at org.jboss.seam.bpm.SeamExpressionEvaluator$1.evaluate(SeamExpressionEvaluator.java:70)
                                   at org.jboss.seam.bpm.SeamExpressionEvaluator.evaluate(SeamExpressionEvaluator.java:36)
                                   at org.jbpm.jpdl.el.impl.JbpmExpressionEvaluator.evaluate(JbpmExpressionEvaluator.java:39)
                                   at org.jbpm.jpdl.el.impl.JbpmExpressionEvaluator.evaluate(JbpmExpressionEvaluator.java:30)
                                   at org.jbpm.graph.def.Action.execute(Action.java:118)
                                   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.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:173)
                                   at org.jbpm.graph.def.Action_$$_javassist_124.execute(Action_$$_javassist_124.java)
                                   at org.jboss.seam.bpm.SeamUserCodeInterceptor$1.process(SeamUserCodeInterceptor.java:80)
                                   at org.jboss.seam.bpm.SeamUserCodeInterceptor$ContextualCall.run(SeamUserCodeInterceptor.java:33)
                                   at org.jboss.seam.bpm.SeamUserCodeInterceptor.executeAction(SeamUserCodeInterceptor.java:74)
                                   at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:253)
                                   at org.jbpm.graph.def.Node.execute(Node.java:338)
                                   at org.jbpm.graph.def.Node.enter(Node.java:318)
                                   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.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:173)
                                   at org.jbpm.graph.def.Node_$$_javassist_170.enter(Node_$$_javassist_170.java)
                                   at org.jbpm.graph.def.Transition.take(Transition.java:151)
                                   at org.jbpm.graph.def.Node.leave(Node.java:393)
                                   at org.jbpm.graph.node.StartState.leave(StartState.java:70)
                                   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.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:173)
                                   at org.jbpm.graph.def.Node_$$_javassist_170.leave(Node_$$_javassist_170.java)
                                   at org.jbpm.graph.exe.Token.signal(Token.java:194)
                                   at org.jbpm.graph.exe.Token.signal(Token.java:139)
                                   at org.jbpm.graph.exe.ProcessInstance.signal(ProcessInstance.java:270)
                                   at uk.co.iblocks.midas.workflow.WorkflowSchedule.processMembers(WorkflowSchedule.java:129)
                                   at uk.co.iblocks.midas.workflow.WorkflowSchedule.execute(WorkflowSchedule.java:79)
                                   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.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
                                   at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
                                   at org.jboss.seam.intercept.EJBInvocationContext.proceed(EJBInvocationContext.java:44)
                                   at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
                                   at org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:31)
                                   at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
                                   at org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:46)
                                   at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
                                   at org.jboss.seam.bpm.BusinessProcessInterceptor.aroundInvoke(BusinessProcessInterceptor.java:49)
                                   at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
                                   at org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:42)
                                   at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
                                   at org.jboss.seam.persistence.EntityManagerProxyInterceptor.aroundInvoke(EntityManagerProxyInterceptor.java:26)
                                   at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
                                   at org.jboss.seam.persistence.HibernateSessionProxyInterceptor.aroundInvoke(HibernateSessionProxyInterceptor.java:27)
                                   at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
                                   at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:106)
                                   at org.jboss.seam.intercept.SessionBeanInterceptor.aroundInvoke(SessionBeanInterceptor.java:50)
                                   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.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:118)
                                   at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
                                   at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                                   at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
                                   at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                                   at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
                                   at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                                   at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:126)
                                   at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:195)
                                   at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                                   at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
                                   at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                                   at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
                                   at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                                   at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
                                   at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:106)
                                   at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                                   at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
                                   at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                                   at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
                                   at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                                   at org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:214)
                                   at org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:184)
                                   at org.jboss.ejb3.stateless.StatelessLocalProxy.invoke(StatelessLocalProxy.java:81)
                                   at $Proxy116.execute(Unknown Source)
                                   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.jboss.seam.util.Reflections.invoke(Reflections.java:21)
                                   at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:31)
                                   at org.jboss.seam.intercept.ClientSideInterceptor$1.proceed(ClientSideInterceptor.java:76)
                                   at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
                                   at org.jboss.seam.async.AsynchronousInterceptor.aroundInvoke(AsynchronousInterceptor.java:50)
                                   at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
                                   at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:106)
                                   at org.jboss.seam.intercept.ClientSideInterceptor.invoke(ClientSideInterceptor.java:54)
                                   at org.javassist.tmp.java.lang.Object_$$_javassist_4.execute(Object_$$_javassist_4.java)
                                   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.jboss.seam.util.Reflections.invoke(Reflections.java:21)
                                   at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:125)
                                   at org.jboss.seam.async.AsynchronousInvocation.call(AsynchronousInvocation.java:52)
                                   at org.jboss.seam.async.Asynchronous.executeInContexts(Asynchronous.java:76)
                                   at org.jboss.seam.async.Asynchronous.execute(Asynchronous.java:45)
                                   at org.jboss.seam.async.TimerServiceDispatcher.dispatch(TimerServiceDispatcher.java:50)
                                   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.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
                                   at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
                                   at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
                                   at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                                   at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
                                   at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                                   at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
                                   at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                                   at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79)
                                   at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:191)
                                   at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                                   at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
                                   at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                                   at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
                                   at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                                   at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
                                   at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:106)
                                   at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                                   at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
                                   at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                                   at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
                                   at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                                   at org.jboss.ejb3.stateless.StatelessContainer.callTimeout(StatelessContainer.java:151)
                                   at org.jboss.ejb.txtimer.TimerImpl$TimerTaskImpl.run(TimerImpl.java:561)
                                   at java.util.TimerThread.mainLoop(Timer.java:512)
                                   at java.util.TimerThread.run(Timer.java:462)
                                  


                                  • 14. Re: jbpm timer transaction issues
                                    pmuir

                                    I don't really know what the problem is here.

                                    I'm a bit overloaded atm. But if you can create a JIRA issue, and attach a simple example to reproduce with steps, then hopefully someone can take a look soon.

                                    With the first exception - what is the NPE from Hibernate about? You might want to cross post to the jbpm forum, as I'm not sure exactly what is Seam and what is JBPM here.

                                    1 2 Previous Next