0 Replies Latest reply on Jun 1, 2011 10:25 AM by biett0

    Timer Exception

    biett0

      Hi there! I'm using jBPM 4.4 and I created a process that invoke a sub-process activity at startup. The sub-process contains a timer activity and raises the following exception when the timer is fired:

       

      16:21:15,874 ERROR [AbstractFlushingEventListener] 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.pvm.internal.job.TimerImpl#34]

                at org.hibernate.persister.entity.AbstractEntityPersister.check(AbstractEntityPersister.java:1792)

                at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2435)

                at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2335)

                at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2635)

                at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:115)

                at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:279)

                at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:263)

                at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:168)

                at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)

                at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50)

                at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1027)

                at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:365)

                at org.hibernate.transaction.CacheSynchronization.beforeCompletion(CacheSynchronization.java:88)

                at com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.beforeCompletion(SynchronizationImple.java:101)

                at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.beforeCompletion(TwoPhaseCoordinator.java:269)

                at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:89)

                at com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:177)

                at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1423)

                at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:137)

                at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:75)

                at org.jboss.tm.usertx.client.ServerVMClientUserTransaction.commit(ServerVMClientUserTransaction.java:162)

                at org.jbpm.pvm.internal.tx.JtaTransaction.commit(JtaTransaction.java:92)

                at org.jbpm.pvm.internal.tx.JtaTransactionInterceptor.executeInNewTx(JtaTransactionInterceptor.java:85)

                at org.jbpm.pvm.internal.tx.JtaTransactionInterceptor.execute(JtaTransactionInterceptor.java:62)

                at org.jbpm.pvm.internal.svc.RetryInterceptor.execute(RetryInterceptor.java:56)

                at org.jbpm.pvm.internal.tx.JtaRetryInterceptor.executeWithRetry(JtaRetryInterceptor.java:52)

                at org.jbpm.pvm.internal.tx.JtaRetryInterceptor.execute(JtaRetryInterceptor.java:45)

                at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.executeInNewEnvironment(EnvironmentInterceptor.java:53)

                at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.execute(EnvironmentInterceptor.java:40)

                at org.jbpm.pvm.internal.svc.SkipInterceptor.execute(SkipInterceptor.java:43)

                at org.jbpm.pvm.internal.jobexecutor.DispatcherThread.acquireJobs(DispatcherThread.java:126)

                at org.jbpm.pvm.internal.jobexecutor.DispatcherThread.run(DispatcherThread.java:67)

       

      Any idea?