Gareth Edwards [
https://community.jboss.org/people/garethed] created the discussion
"JTA Problem with multiple sessions"
To view the discussion, visit:
https://community.jboss.org/message/795428#795428
--------------------------------------------------------------
Hello.
I am writing a system which will allow my to start instances of work-flows using a rest
api as well as managing all the human tasks.
For now I am using one instance of a KnowlegeBase which uses an EntityManagerFactory like
this:
if (emf == null){
emf = Persistence.createEntityManagerFactory( "org.jbpm.persistence.jpa" );
Environment env = KnowledgeBaseFactory.newEnvironment();
env.set( EnvironmentName.ENTITY_MANAGER_FACTORY, emf );
}
I am using a Stateful knowledge session per work-flow instance.
JPAWorkingMemoryDbLogger logger = new JPAWorkingMemoryDbLogger(ksession);
String connectorName = "Hornet" +
UUID.randomUUID().toString();
AsyncHornetQHTWorkItemHandler workItemHandler = new
AsyncHornetQHTWorkItemHandler(new AsyncHornetQTaskClient(connectorName), ksession,
OnErrorAction.LOG);
workItemHandler.setIpAddress("192.168.1.90");
ksession.getWorkItemManager().registerWorkItemHandler("Human Task",
workItemHandler);
ksession.startProcess(workflowSession.getWorkflowName(),workflowSession.getWorkFlowData());
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
With a clean postgres database the first completion of the human task (and end of the
work-flow) I get no problems:
15:12:54,302 INFO [stdout] (workflowExecutor-1) Workflow Instance Variables
15:12:54,303 INFO [stdout] (workflowExecutor-1) agent:krisv
15:12:54,305 INFO [stdout] (workflowExecutor-1) test_id:TZ001A0001
15:13:56,128 INFO [stdout] (Thread-76) test_id is correct
15:13:56,128 INFO [stdout] (Thread-76) test_id:TZ001A0001
15:13:56,128 INFO [stdout] (Thread-76) submitted_test_id:TZ001A0001
But then running the work-flow again (new session) I almost always get problems:
15:14:33,869 INFO [stdout] (workflowExecutor-2) Workflow Instance Variables
15:14:33,870 INFO [stdout] (workflowExecutor-2) agent:krisv
15:14:33,870 INFO [stdout] (workflowExecutor-2) test_id:TZ001A0001
15:14:54,675 INFO [stdout] (Thread-76) test_id is correct
15:14:54,675 INFO [stdout] (Thread-76) test_id:TZ001A0001
15:14:54,675 INFO [stdout] (Thread-76) submitted_test_id:TZ001A0001
15:14:54,692 INFO [stdout] (Thread-77) test_id is correct
15:14:54,692 INFO [stdout] (Thread-77) test_id:TZ001A0001
15:14:54,693 INFO [stdout] (Thread-77) submitted_test_id:TZ001A0001
15:14:54,719 WARN [com.arjuna.ats.arjuna] (Thread-77) ARJUNA012125:
TwoPhaseCoordinator.beforeCompletion - failed for SynchronizationImple<
0:ffff7f000101:-62cc4985:510a8991:60,
org.hibernate.engine.transaction.synchronization.internal.RegisteredSynchronization@339ec220
>: javax.persistence.OptimisticLockException: org.hibernate.StaleObjectStateException:
Row was updated or deleted by another transaction (or unsaved-value mapping was
incorrect): [org.jbpm.persistence.processinstance.ProcessInstanceInfo#11]
at
org.hibernate.ejb.AbstractEntityManagerImpl.wrapStaleStateException(AbstractEntityManagerImpl.java:1394)
[hibernate-entitymanager-4.0.1.Final.jar:4.0.1.Final]
at
org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1308)
[hibernate-entitymanager-4.0.1.Final.jar:4.0.1.Final]
at
org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1289)
[hibernate-entitymanager-4.0.1.Final.jar:4.0.1.Final]
at
org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1295)
[hibernate-entitymanager-4.0.1.Final.jar:4.0.1.Final]
at
org.hibernate.ejb.AbstractEntityManagerImpl$CallbackExceptionMapperImpl.mapManagedFlushFailure(AbstractEntityManagerImpl.java:1481)
[hibernate-entitymanager-4.0.1.Final.jar:4.0.1.Final]
at
org.hibernate.engine.transaction.synchronization.internal.SynchronizationCallbackCoordinatorImpl.beforeCompletion(SynchronizationCallbackCoordinatorImpl.java:109)
[hibernate-core-4.0.1.Final.jar:4.0.1.Final]
at
org.hibernate.engine.transaction.synchronization.internal.RegisteredSynchronization.beforeCompletion(RegisteredSynchronization.java:53)
[hibernate-core-4.0.1.Final.jar:4.0.1.Final]
at
com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.beforeCompletion(SynchronizationImple.java:76)
at
com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.beforeCompletion(TwoPhaseCoordinator.java:273)
at
com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:93)
at com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:164)
at
com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1165)
at
com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:117)
at
com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:75)
at
org.jboss.tm.usertx.client.ServerVMClientUserTransaction.commit(ServerVMClientUserTransaction.java:167)
at
org.drools.persistence.jta.JtaTransactionManager.commit(JtaTransactionManager.java:179)
[drools-persistence-jpa-5.5.0.Final.jar:5.5.0.Final]
at
org.drools.persistence.SingleSessionCommandService.execute(SingleSessionCommandService.java:376)
[drools-persistence-jpa-5.5.0.Final.jar:5.5.0.Final]
at
org.drools.command.impl.CommandBasedStatefulKnowledgeSession$1.completeWorkItem(CommandBasedStatefulKnowledgeSession.java:150)
[drools-core-5.5.0.Final.jar:5.5.0.Final]
at
org.jbpm.process.workitem.wsht.AsyncGenericHTWorkItemHandler$GetResultContentResponseHandler.execute(AsyncGenericHTWorkItemHandler.java:302)
[jbpm-human-task-core-5.4.0.Final.jar:5.4.0.Final]
at
org.jbpm.task.service.TaskClientHandler.messageReceived(TaskClientHandler.java:153)
[jbpm-human-task-core-5.4.0.Final.jar:5.4.0.Final]
at
org.jbpm.task.service.hornetq.HornetQTaskClientHandler.messageReceived(HornetQTaskClientHandler.java:56)
[jbpm-human-task-hornetq-5.4.0.Final.jar:5.4.0.Final]
at
org.jbpm.task.service.hornetq.HornetQTaskClientConnector$1.run(HornetQTaskClientConnector.java:122)
[jbpm-human-task-hornetq-5.4.0.Final.jar:5.4.0.Final]
at java.lang.Thread.run(Thread.java:636) [rt.jar:1.6.0_18]
Caused by: org.hibernate.StaleObjectStateException: Row was updated or deleted by another
transaction (or unsaved-value mapping was incorrect):
[org.jbpm.persistence.processinstance.ProcessInstanceInfo#11]
at
org.hibernate.persister.entity.AbstractEntityPersister.check(AbstractEntityPersister.java:2359)
[hibernate-core-4.0.1.Final.jar:4.0.1.Final]
at
org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:3127)
[hibernate-core-4.0.1.Final.jar:4.0.1.Final]
at
org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:3327)
[hibernate-core-4.0.1.Final.jar:4.0.1.Final]
at
org.hibernate.action.internal.EntityDeleteAction.execute(EntityDeleteAction.java:91)
[hibernate-core-4.0.1.Final.jar:4.0.1.Final]
at org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:272)
[hibernate-core-4.0.1.Final.jar:4.0.1.Final]
at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:264)
[hibernate-core-4.0.1.Final.jar:4.0.1.Final]
at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:191)
[hibernate-core-4.0.1.Final.jar:4.0.1.Final]
at
org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:326)
[hibernate-core-4.0.1.Final.jar:4.0.1.Final]
at
org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:52)
[hibernate-core-4.0.1.Final.jar:4.0.1.Final]
at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1081)
[hibernate-core-4.0.1.Final.jar:4.0.1.Final]
at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:315)
[hibernate-core-4.0.1.Final.jar:4.0.1.Final]
at
org.hibernate.engine.transaction.synchronization.internal.SynchronizationCallbackCoordinatorImpl.beforeCompletion(SynchronizationCallbackCoordinatorImpl.java:104)
[hibernate-core-4.0.1.Final.jar:4.0.1.Final]
... 17 more
15:14:54,732 WARN [org.drools.persistence.jta.JtaTransactionManager] (Thread-77) Unable
to commit transaction: javax.transaction.RollbackException: ARJUNA016053: Could not commit
transaction.
at
com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1177)
at
com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:117)
at
com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:75)
at
org.jboss.tm.usertx.client.ServerVMClientUserTransaction.commit(ServerVMClientUserTransaction.java:167)
at
org.drools.persistence.jta.JtaTransactionManager.commit(JtaTransactionManager.java:179)
[drools-persistence-jpa-5.5.0.Final.jar:5.5.0.Final]
at
org.drools.persistence.SingleSessionCommandService.execute(SingleSessionCommandService.java:376)
[drools-persistence-jpa-5.5.0.Final.jar:5.5.0.Final]
at
org.drools.command.impl.CommandBasedStatefulKnowledgeSession$1.completeWorkItem(CommandBasedStatefulKnowledgeSession.java:150)
[drools-core-5.5.0.Final.jar:5.5.0.Final]
at
org.jbpm.process.workitem.wsht.AsyncGenericHTWorkItemHandler$GetResultContentResponseHandler.execute(AsyncGenericHTWorkItemHandler.java:302)
[jbpm-human-task-core-5.4.0.Final.jar:5.4.0.Final]
at
org.jbpm.task.service.TaskClientHandler.messageReceived(TaskClientHandler.java:153)
[jbpm-human-task-core-5.4.0.Final.jar:5.4.0.Final]
at
org.jbpm.task.service.hornetq.HornetQTaskClientHandler.messageReceived(HornetQTaskClientHandler.java:56)
[jbpm-human-task-hornetq-5.4.0.Final.jar:5.4.0.Final]
at
org.jbpm.task.service.hornetq.HornetQTaskClientConnector$1.run(HornetQTaskClientConnector.java:122)
[jbpm-human-task-hornetq-5.4.0.Final.jar:5.4.0.Final]
at java.lang.Thread.run(Thread.java:636) [rt.jar:1.6.0_18]
Caused by: javax.persistence.OptimisticLockException:
org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction
(or unsaved-value mapping was incorrect):
[org.jbpm.persistence.processinstance.ProcessInstanceInfo#11]
at
org.hibernate.ejb.AbstractEntityManagerImpl.wrapStaleStateException(AbstractEntityManagerImpl.java:1394)
[hibernate-entitymanager-4.0.1.Final.jar:4.0.1.Final]
at
org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1308)
[hibernate-entitymanager-4.0.1.Final.jar:4.0.1.Final]
at
org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1289)
[hibernate-entitymanager-4.0.1.Final.jar:4.0.1.Final]
at
org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1295)
[hibernate-entitymanager-4.0.1.Final.jar:4.0.1.Final]
at
org.hibernate.ejb.AbstractEntityManagerImpl$CallbackExceptionMapperImpl.mapManagedFlushFailure(AbstractEntityManagerImpl.java:1481)
[hibernate-entitymanager-4.0.1.Final.jar:4.0.1.Final]
at
org.hibernate.engine.transaction.synchronization.internal.SynchronizationCallbackCoordinatorImpl.beforeCompletion(SynchronizationCallbackCoordinatorImpl.java:109)
[hibernate-core-4.0.1.Final.jar:4.0.1.Final]
at
org.hibernate.engine.transaction.synchronization.internal.RegisteredSynchronization.beforeCompletion(RegisteredSynchronization.java:53)
[hibernate-core-4.0.1.Final.jar:4.0.1.Final]
at
com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.beforeCompletion(SynchronizationImple.java:76)
at
com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.beforeCompletion(TwoPhaseCoordinator.java:273)
at
com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:93)
at com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:164)
at
com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1165)
... 11 more
Caused by: org.hibernate.StaleObjectStateException: Row was updated or deleted by another
transaction (or unsaved-value mapping was incorrect):
[org.jbpm.persistence.processinstance.ProcessInstanceInfo#11]
at
org.hibernate.persister.entity.AbstractEntityPersister.check(AbstractEntityPersister.java:2359)
[hibernate-core-4.0.1.Final.jar:4.0.1.Final]
at
org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:3127)
[hibernate-core-4.0.1.Final.jar:4.0.1.Final]
at
org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:3327)
[hibernate-core-4.0.1.Final.jar:4.0.1.Final]
at
org.hibernate.action.internal.EntityDeleteAction.execute(EntityDeleteAction.java:91)
[hibernate-core-4.0.1.Final.jar:4.0.1.Final]
at org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:272)
[hibernate-core-4.0.1.Final.jar:4.0.1.Final]
at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:264)
[hibernate-core-4.0.1.Final.jar:4.0.1.Final]
at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:191)
[hibernate-core-4.0.1.Final.jar:4.0.1.Final]
at
org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:326)
[hibernate-core-4.0.1.Final.jar:4.0.1.Final]
at
org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:52)
[hibernate-core-4.0.1.Final.jar:4.0.1.Final]
at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1081)
[hibernate-core-4.0.1.Final.jar:4.0.1.Final]
at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:315)
[hibernate-core-4.0.1.Final.jar:4.0.1.Final]
at
org.hibernate.engine.transaction.synchronization.internal.SynchronizationCallbackCoordinatorImpl.beforeCompletion(SynchronizationCallbackCoordinatorImpl.java:104)
[hibernate-core-4.0.1.Final.jar:4.0.1.Final]
... 17 more
15:14:54,737 ERROR [org.drools.persistence.SingleSessionCommandService] (Thread-77) Could
not commit session: java.lang.RuntimeException: Unable to commit transaction
at
org.drools.persistence.jta.JtaTransactionManager.commit(JtaTransactionManager.java:182)
[drools-persistence-jpa-5.5.0.Final.jar:5.5.0.Final]
at
org.drools.persistence.SingleSessionCommandService.execute(SingleSessionCommandService.java:376)
[drools-persistence-jpa-5.5.0.Final.jar:5.5.0.Final]
at
org.drools.command.impl.CommandBasedStatefulKnowledgeSession$1.completeWorkItem(CommandBasedStatefulKnowledgeSession.java:150)
[drools-core-5.5.0.Final.jar:5.5.0.Final]
at
org.jbpm.process.workitem.wsht.AsyncGenericHTWorkItemHandler$GetResultContentResponseHandler.execute(AsyncGenericHTWorkItemHandler.java:302)
[jbpm-human-task-core-5.4.0.Final.jar:5.4.0.Final]
at
org.jbpm.task.service.TaskClientHandler.messageReceived(TaskClientHandler.java:153)
[jbpm-human-task-core-5.4.0.Final.jar:5.4.0.Final]
at
org.jbpm.task.service.hornetq.HornetQTaskClientHandler.messageReceived(HornetQTaskClientHandler.java:56)
[jbpm-human-task-hornetq-5.4.0.Final.jar:5.4.0.Final]
at
org.jbpm.task.service.hornetq.HornetQTaskClientConnector$1.run(HornetQTaskClientConnector.java:122)
[jbpm-human-task-hornetq-5.4.0.Final.jar:5.4.0.Final]
at java.lang.Thread.run(Thread.java:636) [rt.jar:1.6.0_18]
Caused by: javax.transaction.RollbackException: ARJUNA016053: Could not commit
transaction.
at
com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1177)
at
com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:117)
at
com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:75)
at
org.jboss.tm.usertx.client.ServerVMClientUserTransaction.commit(ServerVMClientUserTransaction.java:167)
at
org.drools.persistence.jta.JtaTransactionManager.commit(JtaTransactionManager.java:179)
[drools-persistence-jpa-5.5.0.Final.jar:5.5.0.Final]
... 7 more
Caused by: javax.persistence.OptimisticLockException:
org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction
(or unsaved-value mapping was incorrect):
[org.jbpm.persistence.processinstance.ProcessInstanceInfo#11]
at
org.hibernate.ejb.AbstractEntityManagerImpl.wrapStaleStateException(AbstractEntityManagerImpl.java:1394)
[hibernate-entitymanager-4.0.1.Final.jar:4.0.1.Final]
at
org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1308)
[hibernate-entitymanager-4.0.1.Final.jar:4.0.1.Final]
at
org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1289)
[hibernate-entitymanager-4.0.1.Final.jar:4.0.1.Final]
at
org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1295)
[hibernate-entitymanager-4.0.1.Final.jar:4.0.1.Final]
at
org.hibernate.ejb.AbstractEntityManagerImpl$CallbackExceptionMapperImpl.mapManagedFlushFailure(AbstractEntityManagerImpl.java:1481)
[hibernate-entitymanager-4.0.1.Final.jar:4.0.1.Final]
at
org.hibernate.engine.transaction.synchronization.internal.SynchronizationCallbackCoordinatorImpl.beforeCompletion(SynchronizationCallbackCoordinatorImpl.java:109)
[hibernate-core-4.0.1.Final.jar:4.0.1.Final]
at
org.hibernate.engine.transaction.synchronization.internal.RegisteredSynchronization.beforeCompletion(RegisteredSynchronization.java:53)
[hibernate-core-4.0.1.Final.jar:4.0.1.Final]
at
com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.beforeCompletion(SynchronizationImple.java:76)
at
com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.beforeCompletion(TwoPhaseCoordinator.java:273)
at
com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:93)
at com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:164)
at
com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1165)
... 11 more
Caused by: org.hibernate.StaleObjectStateException: Row was updated or deleted by another
transaction (or unsaved-value mapping was incorrect):
[org.jbpm.persistence.processinstance.ProcessInstanceInfo#11]
at
org.hibernate.persister.entity.AbstractEntityPersister.check(AbstractEntityPersister.java:2359)
[hibernate-core-4.0.1.Final.jar:4.0.1.Final]
at
org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:3127)
[hibernate-core-4.0.1.Final.jar:4.0.1.Final]
at
org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:3327)
[hibernate-core-4.0.1.Final.jar:4.0.1.Final]
at
org.hibernate.action.internal.EntityDeleteAction.execute(EntityDeleteAction.java:91)
[hibernate-core-4.0.1.Final.jar:4.0.1.Final]
at org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:272)
[hibernate-core-4.0.1.Final.jar:4.0.1.Final]
at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:264)
[hibernate-core-4.0.1.Final.jar:4.0.1.Final]
at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:191)
[hibernate-core-4.0.1.Final.jar:4.0.1.Final]
at
org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:326)
[hibernate-core-4.0.1.Final.jar:4.0.1.Final]
at
org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:52)
[hibernate-core-4.0.1.Final.jar:4.0.1.Final]
at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1081)
[hibernate-core-4.0.1.Final.jar:4.0.1.Final]
at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:315)
[hibernate-core-4.0.1.Final.jar:4.0.1.Final]
at
org.hibernate.engine.transaction.synchronization.internal.SynchronizationCallbackCoordinatorImpl.beforeCompletion(SynchronizationCallbackCoordinatorImpl.java:104)
[hibernate-core-4.0.1.Final.jar:4.0.1.Final]
... 17 more
15:14:54,748 WARN [org.drools.persistence.jta.JtaTransactionManager] (Thread-77) Unable
to rollback transaction: java.lang.IllegalStateException: BaseTransaction.rollback -
ARJUNA016074: no transaction!
at
com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.rollback(BaseTransaction.java:130)
at
com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.rollback(BaseTransactionManagerDelegate.java:114)
at
org.jboss.tm.usertx.client.ServerVMClientUserTransaction.rollback(ServerVMClientUserTransaction.java:175)
at
org.drools.persistence.jta.JtaTransactionManager.rollback(JtaTransactionManager.java:191)
[drools-persistence-jpa-5.5.0.Final.jar:5.5.0.Final]
at
org.drools.persistence.SingleSessionCommandService.rollbackTransaction(SingleSessionCommandService.java:402)
[drools-persistence-jpa-5.5.0.Final.jar:5.5.0.Final]
at
org.drools.persistence.SingleSessionCommandService.execute(SingleSessionCommandService.java:381)
[drools-persistence-jpa-5.5.0.Final.jar:5.5.0.Final]
at
org.drools.command.impl.CommandBasedStatefulKnowledgeSession$1.completeWorkItem(CommandBasedStatefulKnowledgeSession.java:150)
[drools-core-5.5.0.Final.jar:5.5.0.Final]
at
org.jbpm.process.workitem.wsht.AsyncGenericHTWorkItemHandler$GetResultContentResponseHandler.execute(AsyncGenericHTWorkItemHandler.java:302)
[jbpm-human-task-core-5.4.0.Final.jar:5.4.0.Final]
at
org.jbpm.task.service.TaskClientHandler.messageReceived(TaskClientHandler.java:153)
[jbpm-human-task-core-5.4.0.Final.jar:5.4.0.Final]
at
org.jbpm.task.service.hornetq.HornetQTaskClientHandler.messageReceived(HornetQTaskClientHandler.java:56)
[jbpm-human-task-hornetq-5.4.0.Final.jar:5.4.0.Final]
at
org.jbpm.task.service.hornetq.HornetQTaskClientConnector$1.run(HornetQTaskClientConnector.java:122)
[jbpm-human-task-hornetq-5.4.0.Final.jar:5.4.0.Final]
at java.lang.Thread.run(Thread.java:636) [rt.jar:1.6.0_18]
15:14:54,751 ERROR [org.drools.persistence.SingleSessionCommandService] (Thread-77) Could
not rollback: java.lang.RuntimeException: Unable to rollback transaction
at
org.drools.persistence.jta.JtaTransactionManager.rollback(JtaTransactionManager.java:197)
[drools-persistence-jpa-5.5.0.Final.jar:5.5.0.Final]
at
org.drools.persistence.SingleSessionCommandService.rollbackTransaction(SingleSessionCommandService.java:402)
[drools-persistence-jpa-5.5.0.Final.jar:5.5.0.Final]
at
org.drools.persistence.SingleSessionCommandService.execute(SingleSessionCommandService.java:381)
[drools-persistence-jpa-5.5.0.Final.jar:5.5.0.Final]
at
org.drools.command.impl.CommandBasedStatefulKnowledgeSession$1.completeWorkItem(CommandBasedStatefulKnowledgeSession.java:150)
[drools-core-5.5.0.Final.jar:5.5.0.Final]
at
org.jbpm.process.workitem.wsht.AsyncGenericHTWorkItemHandler$GetResultContentResponseHandler.execute(AsyncGenericHTWorkItemHandler.java:302)
[jbpm-human-task-core-5.4.0.Final.jar:5.4.0.Final]
at
org.jbpm.task.service.TaskClientHandler.messageReceived(TaskClientHandler.java:153)
[jbpm-human-task-core-5.4.0.Final.jar:5.4.0.Final]
at
org.jbpm.task.service.hornetq.HornetQTaskClientHandler.messageReceived(HornetQTaskClientHandler.java:56)
[jbpm-human-task-hornetq-5.4.0.Final.jar:5.4.0.Final]
at
org.jbpm.task.service.hornetq.HornetQTaskClientConnector$1.run(HornetQTaskClientConnector.java:122)
[jbpm-human-task-hornetq-5.4.0.Final.jar:5.4.0.Final]
at java.lang.Thread.run(Thread.java:636) [rt.jar:1.6.0_18]
Caused by: java.lang.IllegalStateException: BaseTransaction.rollback - ARJUNA016074: no
transaction!
at
com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.rollback(BaseTransaction.java:130)
|
| at
com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.rollback(BaseTransactionManagerDelegate.java:114)
|
|
| at
org.jboss.tm.usertx.client.ServerVMClientUserTransaction.rollback(ServerVMClientUserTransaction.java:175)
|
|
| at
org.drools.persistence.jta.JtaTransactionManager.rollback(JtaTransactionManager.java:191)
[drools-persistence-jpa-5.5.0.Final.jar:5.5.0.Final] |
|
| ... 8 more |
15:14:54,754 ERROR [org.jbpm.task.service.hornetq.HornetQTaskClientConnector] (Thread-77)
Client Exception with class class
org.jbpm.task.service.hornetq.HornetQTaskClientConnector$1 using port 5153:
java.lang.RuntimeException: Could not commit session or rollback
|
| at
org.drools.persistence.SingleSessionCommandService.rollbackTransaction(SingleSessionCommandService.java:406)
[drools-persistence-jpa-5.5.0.Final.jar:5.5.0.Final] |
|
| at
org.drools.persistence.SingleSessionCommandService.execute(SingleSessionCommandService.java:381)
[drools-persistence-jpa-5.5.0.Final.jar:5.5.0.Final] |
|
| at
org.drools.command.impl.CommandBasedStatefulKnowledgeSession$1.completeWorkItem(CommandBasedStatefulKnowledgeSession.java:150)
[drools-core-5.5.0.Final.jar:5.5.0.Final] |
|
| at
org.jbpm.process.workitem.wsht.AsyncGenericHTWorkItemHandler$GetResultContentResponseHandler.execute(AsyncGenericHTWorkItemHandler.java:302)
[jbpm-human-task-core-5.4.0.Final.jar:5.4.0.Final] |
|
| at org.jbpm.task.service.TaskClientHandler.messageReceived(TaskClientHandler.java:153)
[jbpm-human-task-core-5.4.0.Final.jar:5.4.0.Final] |
|
| at
org.jbpm.task.service.hornetq.HornetQTaskClientHandler.messageReceived(HornetQTaskClientHandler.java:56)
[jbpm-human-task-hornetq-5.4.0.Final.jar:5.4.0.Final] |
|
| at
org.jbpm.task.service.hornetq.HornetQTaskClientConnector$1.run(HornetQTaskClientConnector.java:122)
[jbpm-human-task-hornetq-5.4.0.Final.jar:5.4.0.Final] |
|
| at java.lang.Thread.run(Thread.java:636) [rt.jar:1.6.0_18] |
Caused by: java.lang.RuntimeException: Unable to rollback transaction
|
| at
org.drools.persistence.jta.JtaTransactionManager.rollback(JtaTransactionManager.java:197)
[drools-persistence-jpa-5.5.0.Final.jar:5.5.0.Final] |
|
| at
org.drools.persistence.SingleSessionCommandService.rollbackTransaction(SingleSessionCommandService.java:402)
[drools-persistence-jpa-5.5.0.Final.jar:5.5.0.Final] |
|
| ... 7 more |
Caused by: java.lang.IllegalStateException: BaseTransaction.rollback - ARJUNA016074: no
transaction!
|
| at
com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.rollback(BaseTransaction.java:130)
|
|
| at
com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.rollback(BaseTransactionManagerDelegate.java:114)
|
|
| at
org.jboss.tm.usertx.client.ServerVMClientUserTransaction.rollback(ServerVMClientUserTransaction.java:175)
|
|
| at
org.drools.persistence.jta.JtaTransactionManager.rollback(JtaTransactionManager.java:191)
[drools-persistence-jpa-5.5.0.Final.jar:5.5.0.Final] |
|
| ... 8 more |
I'm using the bundled human-task-war.war application to handle human tasks.
The persistence for my EntityManagerFactory is configured using the following
persistence.xml
<?xml version="1.0" encoding="UTF-8"
standalone="yes"?>
<persistence version="2.0"
xmlns="
http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence" xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd
http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="org.jbpm.persistence.jpa"
transaction-type="JTA">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>java:jboss/datasources/jbpmDS</jta-data-source>
<mapping-file>META-INF/JBPMorm-JPA2.xml</mapping-file>
<mapping-file>META-INF/ProcessInstanceInfoMapping-JPA2.xml</mapping-file>
<class>org.drools.persistence.info.SessionInfo</class>
<class>org.drools.persistence.info.WorkItemInfo</class>
<class>org.jbpm.process.audit.ProcessInstanceLog</class>
<class>org.jbpm.process.audit.NodeInstanceLog</class>
<class>org.jbpm.process.audit.VariableInstanceLog</class>
<properties>
<property name="hibernate.dialect"
value="org.hibernate.dialect.PostgreSQLDialect" />
<property name="hibernate.max_fetch_depth" value="3" />
<!-- property name="hibernate.hbm2ddl.auto" value="update"
/-->
<property name="hibernate.show_sql" value="false" />
<!--property name="hibernate.transaction.manager_lookup_class"
value="org.hibernate.transaction.JBossTransactionManagerLookup"
/-->
<property name="hibernate.transaction.jta.platform"
value="org.hibernate.service.jta.platform.internal.JBossAppServerJtaPlatform"
/>
<!-- BZ 841786: AS7/EAP 6/Hib 4 uses new (sequence) generators which seem
to cause problems -->
<property name="hibernate.id.new_generator_mappings"
value="false" />
</properties>
</persistence-unit>
</persistence>
I tried the change below as it was suggested by another user with similar problems with
Postgres
<!--property name="hibernate.transaction.manager_lookup_class"
value="org.hibernate.transaction.JBossTransactionManagerLookup" /-->
<property name="hibernate.transaction.jta.platform"
value="org.hibernate.service.jta.platform.internal.JBossAppServerJtaPlatform"
/>
But that didn't seem to help.
I hope somebody can help
Thanks in advance,
Gareth.
--------------------------------------------------------------
Reply to this message by going to Community
[
https://community.jboss.org/message/795428#795428]
Start a new discussion in jBPM at Community
[
https://community.jboss.org/choose-container!input.jspa?contentType=1&...]