wu arron [http://community.jboss.org/people/wuarron] created the discussion
"jBpm4.4 +spring test error(Could not synchronize database state with session)?" To view the discussion, visit: http://community.jboss.org/message/555094#555094 -------------------------------------------------------------- I use the jBpm4.4. install with spring,do like this: I modify the build.xml file 187 line for create.cfg target.and change the tx to "spring",then ant create.cfg.I get the cfg files and copy all the files to example classpath.I Junit the *AsyncActivityTest.java.* and get the error: > 11:17:29,453 FIN | [AsyncActivityTest] === starting testAsyncActivity > ============================= > 11:17:29,703 FIN | [ProcessDefinitionImpl] creating new execution for process > 'AsyncActivity' > 11:17:29,703 FIN | [DatabaseIdComposer] generated execution id > AsyncActivity.30013 > 11:17:29,718 FIN | [ExecuteActivity] executing activity(22142166) > 11:17:29,718 FIN | [JobExecutorMessageSession] sending message > ExecuteActivityMessage > 11:17:29,796 FIN | [ExecuteJobCmd] executing job > ExecuteActivityMessage[30014]... > 11:17:29,812 FIN | [ExecuteActivity] executing activity(generate pdf) > 11:17:29,812 FIN | [DispatcherThread] submitting jobs [30014] > 11:17:29,843 FIN | [DispatcherThread] added jobs [30014] to the queue > 11:17:29,859 FIN | [ExecuteJobCmd] executing job > ExecuteActivityMessage[30014]... > 11:17:29,859 FIN | [ExecuteActivity] executing activity(generate pdf) > log4j:WARN No appenders could be found for logger > (org.jbpm.examples.async.activity.Application). > log4j:WARN Please initialize the log4j system properly. > log4j:WARN No appenders could be found for logger > (org.jbpm.examples.async.activity.Application). > log4j:WARN Please initialize the log4j system properly. > 11:17:29,890 FIN | [JobExecutorMessageSession] sending message > ExecuteActivityMessage > 11:17:29,890 FIN | [ExecuteJobCmd] executed job ExecuteActivityMessage[30014] > 11:17:29,953 FIN | [JobExecutorMessageSession] sending message > ExecuteActivityMessage > 11:17:29,953 FIN | [ExecuteJobCmd] executed job > ExecuteActivityMessage[30014] > ### EXCEPTION ########################################### > 11:17:29,953 SEV | [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.model.ExecutionImpl#30013] > 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.JDBCTransaction.commit(JDBCTransaction.java:137) > at > org.springframework.orm.hibernate3.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:656) > at > org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:754) > at > org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:723) > at > org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:147) > at > org.jbpm.pvm.internal.tx.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:49) > 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.RetryInterceptor.execute(RetryInterceptor.java:56) > at org.jbpm.pvm.internal.jobexecutor.JobParcel.run(JobParcel.java:48) > at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:417) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269) > at java.util.concurrent.FutureTask.run(FutureTask.java:123) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) > at java.lang.Thread.run(Thread.java:595) > ### EXCEPTION ########################################### > 11:17:30,031 FIN | [DispatcherThread] submitting jobs [30016] > 11:17:30,031 FIN | [DispatcherThread] added jobs [30016] to the queue > 11:17:30,046 FIN | [ExecuteJobCmd] executing job > ExecuteActivityMessage[30016]... > 11:17:30,046 FIN | [ExecuteActivity] executing activity(calculate primes) > 11:17:30,062 FIN | [ExecuteActivity] executing activity(end) > 11:17:30,062 FIN | [ExecutionImpl] execution[AsyncActivity.30013] ends with > state ended > 11:17:30,062 FIN | [DbSessionImpl] Deleting process instance > AsyncActivity.30013 > 11:17:30,078 FIN | [ExecuteJobCmd] executing job > ExecuteActivityMessage[30016]... > 11:17:30,078 FIN | [ExecuteJobCmd] executed job ExecuteActivityMessage[30016] > 11:17:30,078 FIN | [ExecuteActivity] executing activity(calculate > primes) > 11:17:30,078 FIN | [ExecuteActivity] executing activity(end) > 11:17:30,078 FIN | [ExecutionImpl] execution[AsyncActivity.30013] ends > with state ended > ### EXCEPTION ########################################### > 11:17:30,078 SEV | [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.model.ExecutionImpl#30013] > 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.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:64) > at > org.hibernate.impl.SessionImpl.autoFlushIfRequired(SessionImpl.java:996) > at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1141) > at org.hibernate.impl.QueryImpl.list(QueryImpl.java:102) > at > org.hibernate.impl.AbstractQueryImpl.uniqueResult(AbstractQueryImpl.java:835) > at > org.jbpm.pvm.internal.hibernate.DbSessionImpl.findProcessInstanceByIdIgnoreSuspended(DbSessionImpl.java:148) > at > org.jbpm.pvm.internal.hibernate.DbSessionImpl.deleteProcessInstance(DbSessionImpl.java:185) > at org.jbpm.pvm.internal.model.ExecutionImpl.end(ExecutionImpl.java:396) > at > org.jbpm.jpdl.internal.activity.EndActivity.execute(EndActivity.java:81) > at > org.jbpm.jpdl.internal.activity.EndActivity.execute(EndActivity.java:43) > at > org.jbpm.pvm.internal.model.op.ExecuteActivity.perform(ExecuteActivity.java:60) > at > org.jbpm.pvm.internal.model.ExecutionImpl.performAtomicOperationSync(ExecutionImpl.java:672) > at > org.jbpm.pvm.internal.model.op.ExecuteActivityMessage.executeVoid(ExecuteActivityMessage.java:45) > at org.jbpm.pvm.internal.job.MessageImpl.execute(MessageImpl.java:46) > at org.jbpm.pvm.internal.job.MessageImpl.execute(MessageImpl.java:32) > at org.jbpm.pvm.internal.cmd.ExecuteJobCmd.execute(ExecuteJobCmd.java:79) > at org.jbpm.pvm.internal.cmd.ExecuteJobCmd.execute(ExecuteJobCmd.java:41) > at > org.jbpm.pvm.internal.svc.DefaultCommandService.execute(DefaultCommandService.java:42) > at > org.jbpm.pvm.internal.tx.SpringCommandCallback.doInTransaction(SpringCommandCallback.java:45) > at > org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:130) > at > org.jbpm.pvm.internal.tx.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:49) > 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.RetryInterceptor.execute(RetryInterceptor.java:56) > at org.jbpm.pvm.internal.jobexecutor.JobParcel.run(JobParcel.java:48) > at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:417) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269) > at java.util.concurrent.FutureTask.run(FutureTask.java:123) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) > at java.lang.Thread.run(Thread.java:595) > ### EXCEPTION ########################################### > 11:17:30,093 FIN | [ExecuteJobCmd] job 30014 no longer exists > ### EXCEPTION ########################################### > 11:17:30,093 SEV | [ExecuteJobCmd] exception while executing > 'ExecuteActivityMessage[30016]' > org.hibernate.StaleObjectStateException: Row was updated or deleted by > another transaction (or unsaved-value mapping was incorrect): > [org.jbpm.pvm.internal.model.ExecutionImpl#30013] > 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.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:64) > at > org.hibernate.impl.SessionImpl.autoFlushIfRequired(SessionImpl.java:996) > at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1141) > at org.hibernate.impl.QueryImpl.list(QueryImpl.java:102) > at > org.hibernate.impl.AbstractQueryImpl.uniqueResult(AbstractQueryImpl.java:835) > at > org.jbpm.pvm.internal.hibernate.DbSessionImpl.findProcessInstanceByIdIgnoreSuspended(DbSessionImpl.java:148) > at > org.jbpm.pvm.internal.hibernate.DbSessionImpl.deleteProcessInstance(DbSessionImpl.java:185) > at org.jbpm.pvm.internal.model.ExecutionImpl.end(ExecutionImpl.java:396) > at > org.jbpm.jpdl.internal.activity.EndActivity.execute(EndActivity.java:81) > at > org.jbpm.jpdl.internal.activity.EndActivity.execute(EndActivity.java:43) > at > org.jbpm.pvm.internal.model.op.ExecuteActivity.perform(ExecuteActivity.java:60) > at > org.jbpm.pvm.internal.model.ExecutionImpl.performAtomicOperationSync(ExecutionImpl.java:672) > at > org.jbpm.pvm.internal.model.op.ExecuteActivityMessage.executeVoid(ExecuteActivityMessage.java:45) > at org.jbpm.pvm.internal.job.MessageImpl.execute(MessageImpl.java:46) > at org.jbpm.pvm.internal.job.MessageImpl.execute(MessageImpl.java:32) > at org.jbpm.pvm.internal.cmd.ExecuteJobCmd.execute(ExecuteJobCmd.java:79) > at org.jbpm.pvm.internal.cmd.ExecuteJobCmd.execute(ExecuteJobCmd.java:41) > at > org.jbpm.pvm.internal.svc.DefaultCommandService.execute(DefaultCommandService.java:42) > at > org.jbpm.pvm.internal.tx.SpringCommandCallback.doInTransaction(SpringCommandCallback.java:45) > at > org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:130) > at > org.jbpm.pvm.internal.tx.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:49) > 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.RetryInterceptor.execute(RetryInterceptor.java:56) > at org.jbpm.pvm.internal.jobexecutor.JobParcel.run(JobParcel.java:48) > at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:417) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269) > at java.util.concurrent.FutureTask.run(FutureTask.java:123) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) > at java.lang.Thread.run(Thread.java:595) > ### EXCEPTION ########################################### > ### EXCEPTION ########################################### > 11:17:30,093 INF | [DefaultCommandService] exception while executing > command org.jbpm.pvm.internal.cmd.executejob...@fa706d > org.hibernate.StaleObjectStateException: Row was updated or deleted by > another transaction (or unsaved-value mapping was incorrect): > [org.jbpm.pvm.internal.model.ExecutionImpl#30013] > 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.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:64) > at > org.hibernate.impl.SessionImpl.autoFlushIfRequired(SessionImpl.java:996) > at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1141) > at org.hibernate.impl.QueryImpl.list(QueryImpl.java:102) > at > org.hibernate.impl.AbstractQueryImpl.uniqueResult(AbstractQueryImpl.java:835) > at > org.jbpm.pvm.internal.hibernate.DbSessionImpl.findProcessInstanceByIdIgnoreSuspended(DbSessionImpl.java:148) > at > org.jbpm.pvm.internal.hibernate.DbSessionImpl.deleteProcessInstance(DbSessionImpl.java:185) > at org.jbpm.pvm.internal.model.ExecutionImpl.end(ExecutionImpl.java:396) > at > org.jbpm.jpdl.internal.activity.EndActivity.execute(EndActivity.java:81) > at > org.jbpm.jpdl.internal.activity.EndActivity.execute(EndActivity.java:43) > at > org.jbpm.pvm.internal.model.op.ExecuteActivity.perform(ExecuteActivity.java:60) > at > org.jbpm.pvm.internal.model.ExecutionImpl.performAtomicOperationSync(ExecutionImpl.java:672) > at > org.jbpm.pvm.internal.model.op.ExecuteActivityMessage.executeVoid(ExecuteActivityMessage.java:45) > at org.jbpm.pvm.internal.job.MessageImpl.execute(MessageImpl.java:46) > at org.jbpm.pvm.internal.job.MessageImpl.execute(MessageImpl.java:32) > at org.jbpm.pvm.internal.cmd.ExecuteJobCmd.execute(ExecuteJobCmd.java:79) > at org.jbpm.pvm.internal.cmd.ExecuteJobCmd.execute(ExecuteJobCmd.java:41) > at > org.jbpm.pvm.internal.svc.DefaultCommandService.execute(DefaultCommandService.java:42) > at > org.jbpm.pvm.internal.tx.SpringCommandCallback.doInTransaction(SpringCommandCallback.java:45) > at > org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:130) > at > org.jbpm.pvm.internal.tx.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:49) > 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.RetryInterceptor.execute(RetryInterceptor.java:56) > at org.jbpm.pvm.internal.jobexecutor.JobParcel.run(JobParcel.java:48) > at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:417) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269) > at java.util.concurrent.FutureTask.run(FutureTask.java:123) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) > at java.lang.Thread.run(Thread.java:595) > ### EXCEPTION ########################################### > 11:17:30,125 FIN | [JobExceptionHandler] starting new transaction for > handling job exception > 11:17:30,140 FIN | [JobExceptionHandler] handling job 30016 exception: > Row was updated or deleted by another transaction (or unsaved-value mapping > was incorrect): [org.jbpm.pvm.internal.model.ExecutionImpl#30013] > 11:17:30,140 FIN | [JobExceptionHandler] completed transaction for > handling job exception > 11:17:30,140 FIN | [DeleteDeploymentCmd] deleting deployment 30007 > 11:17:30,203 FIN | [ExecuteJobCmd] job 30016 no longer exists > 11:17:30,250 FIN | [AsyncActivityTest] === ending testAsyncActivity > ============================= -------------------------------------------------------------- Reply to this message by going to Community [http://community.jboss.org/message/555094#555094] Start a new discussion in jBPM at Community [http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2034]
_______________________________________________ jboss-user mailing list [email protected] https://lists.jboss.org/mailman/listinfo/jboss-user
