jBPM5 で org.hibernate.StaleObjectStateException が発生する理由
Issue
- jBPM5 を使いビジネスプロセスを作成しました。フローを数回処理すると、フローは以下の ERROR メッセージを表示します。
実行環境ですが、WebSphere Application Server (WAS) 8で、JBoss Enterprise BRMS Platform 5.3に同梱されるjBPM 5.xを使用しています。
この ERROR メッセージが表示される理由は?
java.lang.RuntimeException:Could not commit transaction
at org.jbpm.task.service.TaskServiceSession.doOperationInTransaction(TaskServiceSession.java:1011)
at org.jbpm.task.service.TaskServiceSession.getContent(TaskServiceSession.java:589)
at org.jbpm.task.service.local.LocalTaskService.getContent(LocalTaskService.java:130)
at org.jbpm.process.workitem.wsht.SyncWSHumanTaskHandler$TaskCompletedHandler.handleCompletedTask(SyncWSHumanTaskHandler.java:343)
.....
Caused by: java.lang.RuntimeException:Unable to commit transaction
at org.drools.persistence.jta.JtaTransactionManager.commit(JtaTransactionManager.java:182)
at org.jbpm.task.service.persistence.TaskJTATransactionManager.commit(TaskJTATransactionManager.java:56)
at org.jbpm.task.service.persistence.TaskPersistenceManager.endTransaction(TaskPersistenceManager.java:94)
at org.jbpm.task.service.TaskServiceSession.doOperationInTransaction(TaskServiceSession.java:999)
.....
Caused by: javax.transaction.RollbackException
at com.ibm.tx.jta.impl.TransactionImpl.stage3CommitProcessing(TransactionImpl.java:1258)
at com.ibm.tx.jta.impl.TransactionImpl.processCommit(TransactionImpl.java:1028)
at com.ibm.tx.jta.impl.TransactionImpl.commit(TransactionImpl.java:949)
.....
Caused by: javax.persistence.OptimisticLockException
at org.hibernate.ejb.AbstractEntityManagerImpl.wrapStaleStateException(AbstractEntityManagerImpl.java:627)
at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:588)
at org.hibernate.ejb.AbstractEntityManagerImpl$1.beforeCompletion(AbstractEntityManagerImpl.java:513)
.....
Caused by: org.hibernate.StaleObjectStateException:Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect):[org.jbpm.task.Task#5]
at org.hibernate.persister.entity.AbstractEntityPersister.check(AbstractEntityPersister.java:1782)
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2425)
at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2325)
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2625)
at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:115)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:279)
.....
Environment
- JBoss Enterprise Business Rules Management System Platform (BRMS)
- 5.3.0
- 5.3.1
- jBPM
- 5.x
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
