[jboss-user] [JBoss jBPM] - Re: JEE AS / jBPM / Transactions problem
gchanteb
do-not-reply at jboss.com
Thu Apr 9 08:44:38 EDT 2009
If really don't understand, if i use this:
public void launchSimpleProcess(String processName, String clientId) throws LaunchProcessException
| {
| long processId;
|
| try
| {
| processId = createProcess(processName); // Creation of the process.
| }
| catch(CreationProcessException exc) { throw new LaunchProcessException(exc.getMessage()); }
| }
And if i have my entity beans on the same db (ie "JbpmDS" in persistence.xml), if i launch this method with a remote main:
Sometime it works:
14:37:25,727 INFO [STDOUT] Hibernate:
| /* named HQL query GraphSession.findLatestProcessDefinitionQuery */ select
| *
| from
| ( select
| processdef0_.ID_ as ID1_10_,
| processdef0_.NAME_ as NAME3_10_,
| processdef0_.DESCRIPTION_ as DESCRIPT4_10_,
| processdef0_.VERSION_ as VERSION5_10_,
| processdef0_.ISTERMINATIONIMPLICIT_ as ISTERMIN6_10_,
| processdef0_.STARTSTATE_ as STARTSTATE7_10_
| from
| JBPM_PROCESSDEFINITION processdef0_
| where
| processdef0_.NAME_=?
| order by
| processdef0_.VERSION_ desc )
| where
| rownum <= ?
| 14:37:25,727 INFO [STDOUT] Hibernate:
| select
| hibernate_sequence.nextval
| from
| dual
| 14:37:25,727 INFO [STDOUT] Hibernate:
| select
| hibernate_sequence.nextval
| from
| dual
| 14:37:25,727 INFO [STDOUT] Process id: 8
| 14:37:25,727 INFO [STDOUT] Hibernate:
| select
| hibernate_sequence.nextval
| from
| dual
| 14:37:25,727 INFO [STDOUT] Hibernate:
| select
| hibernate_sequence.nextval
| from
| dual
| 14:37:25,727 INFO [STDOUT] Hibernate:
| select
| hibernate_sequence.nextval
| from
| dual
| 14:37:25,727 INFO [STDOUT] Hibernate:
| select
| hibernate_sequence.nextval
| from
| dual
| 14:37:25,727 INFO [STDOUT] Hibernate:
| select
| hibernate_sequence.nextval
| from
| dual
| 14:37:25,727 INFO [STDOUT] Hibernate:
| /* insert org.jbpm.graph.exe.Token
| */ insert
| into
| JBPM_TOKEN
| (VERSION_, NAME_, START_, END_, NODEENTER_, NEXTLOGINDEX_, ISABLETOREACTIVATEPARENT_, ISTERMINATIONIMPLICIT_, ISSUSPENDED_, LOCK_, NODE_, PROCESSINSTANCE_, PARENT_, SUBPROCESSINSTANCE_, ID_)
| values
| (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
| 14:37:25,758 INFO [STDOUT] Hibernate:
| /* insert org.jbpm.graph.exe.ProcessInstance
| */ insert
| into
| JBPM_PROCESSINSTANCE
| (VERSION_, KEY_, START_, END_, ISSUSPENDED_, PROCESSDEFINITION_, ROOTTOKEN_, SUPERPROCESSTOKEN_, ID_)
| values
| (?, ?, ?, ?, ?, ?, ?, ?, ?)
| 14:37:25,758 INFO [STDOUT] Hibernate:
| /* insert org.jbpm.context.exe.ContextInstance
| */ insert
| into
| JBPM_MODULEINSTANCE
| (VERSION_, PROCESSINSTANCE_, CLASS_, ID_)
| values
| (?, ?, 'C', ?)
| 14:37:25,758 INFO [STDOUT] Hibernate:
| /* insert org.jbpm.context.exe.TokenVariableMap
| */ insert
| into
| JBPM_TOKENVARIABLEMAP
| (VERSION_, TOKEN_, CONTEXTINSTANCE_, ID_)
| values
| (?, ?, ?, ?)
| 14:37:25,758 INFO [STDOUT] Hibernate:
| /* insert org.jbpm.bytes.ByteArray
| */ insert
| into
| JBPM_BYTEARRAY
| (NAME_, ID_)
| values
| (?, ?)
| 14:37:25,758 INFO [STDOUT] Hibernate:
| /* insert org.jbpm.context.exe.variableinstance.ByteArrayInstance
| */ insert
| into
| JBPM_VARIABLEINSTANCE
| (VERSION_, NAME_, CONVERTER_, TOKEN_, TOKENVARIABLEMAP_, PROCESSINSTANCE_, BYTEARRAYVALUE_, CLASS_, ID_)
| values
| (?, ?, ?, ?, ?, ?, ?, 'B', ?)
| 14:37:25,758 INFO [STDOUT] Hibernate:
| /* insert org.jbpm.taskmgmt.exe.TaskMgmtInstance
| */ insert
| into
| JBPM_MODULEINSTANCE
| (VERSION_, PROCESSINSTANCE_, TASKMGMTDEFINITION_, CLASS_, ID_)
| values
| (?, ?, ?, 'T', ?)
| 14:37:25,758 INFO [STDOUT] Hibernate:
| /* update
| org.jbpm.graph.exe.ProcessInstance */ update
| JBPM_PROCESSINSTANCE
| set
| VERSION_=?,
| KEY_=?,
| START_=?,
| END_=?,
| ISSUSPENDED_=?,
| PROCESSDEFINITION_=?,
| ROOTTOKEN_=?,
| SUPERPROCESSTOKEN_=?
| where
| ID_=?
| and VERSION_=?
| 14:37:25,758 INFO [STDOUT] Hibernate:
| /* update
| org.jbpm.graph.exe.Token */ update
| JBPM_TOKEN
| set
| VERSION_=?,
| NAME_=?,
| START_=?,
| END_=?,
| NODEENTER_=?,
| NEXTLOGINDEX_=?,
| ISABLETOREACTIVATEPARENT_=?,
| ISTERMINATIONIMPLICIT_=?,
| ISSUSPENDED_=?,
| LOCK_=?,
| NODE_=?,
| PROCESSINSTANCE_=?,
| PARENT_=?,
| SUBPROCESSINSTANCE_=?
| where
| ID_=?
| and VERSION_=?
| 14:37:25,758 INFO [STDOUT] Hibernate:
| /* insert collection
| row org.jbpm.bytes.ByteArray.byteBlocks */ insert
| into
| JBPM_BYTEBLOCK
| (PROCESSFILE_, INDEX_, BYTES_)
| values
| (?, ?, ?)
| 14:37:25,758 INFO [STDOUT] Hibernate:
| /* insert collection
| row org.jbpm.bytes.ByteArray.byteBlocks */ insert
| into
| JBPM_BYTEBLOCK
| (PROCESSFILE_, INDEX_, BYTES_)
| values
| (?, ?, ?)
| 14:37:25,758 INFO [STDOUT] Hibernate:
| /* insert collection
| row org.jbpm.bytes.ByteArray.byteBlocks */ insert
| into
| JBPM_BYTEBLOCK
| (PROCESSFILE_, INDEX_, BYTES_)
| values
| (?, ?, ?)
| 14:37:25,758 INFO [STDOUT] Hibernate:
| /* create one-to-many row org.jbpm.graph.exe.ProcessInstance.instances */ update
| JBPM_MODULEINSTANCE
| set
| PROCESSINSTANCE_=?,
| NAME_=?
| where
| ID_=?
| 14:37:25,758 INFO [STDOUT] Hibernate:
| /* create one-to-many row org.jbpm.graph.exe.ProcessInstance.instances */ update
| JBPM_MODULEINSTANCE
| set
| PROCESSINSTANCE_=?,
| NAME_=?
| where
| ID_=?
|
Sometime it doesn't work:
14:37:19,337 INFO [STDOUT] Hibernate:
| /* named HQL query GraphSession.findLatestProcessDefinitionQuery */ select
| *
| from
| ( select
| processdef0_.ID_ as ID1_10_,
| processdef0_.NAME_ as NAME3_10_,
| processdef0_.DESCRIPTION_ as DESCRIPT4_10_,
| processdef0_.VERSION_ as VERSION5_10_,
| processdef0_.ISTERMINATIONIMPLICIT_ as ISTERMIN6_10_,
| processdef0_.STARTSTATE_ as STARTSTATE7_10_
| from
| JBPM_PROCESSDEFINITION processdef0_
| where
| processdef0_.NAME_=?
| order by
| processdef0_.VERSION_ desc )
| where
| rownum <= ?
| 14:37:19,337 INFO [STDOUT] Hibernate:
| select
| hibernate_sequence.nextval
| from
| dual
| 14:37:19,337 INFO [STDOUT] Hibernate:
| select
| hibernate_sequence.nextval
| from
| dual
| 14:37:19,337 INFO [STDOUT] Process id: 1
| 14:37:19,337 INFO [STDOUT] Hibernate:
| select
| hibernate_sequence.nextval
| from
| dual
| 14:37:19,337 INFO [STDOUT] Hibernate:
| select
| hibernate_sequence.nextval
| from
| dual
| 14:37:19,337 INFO [STDOUT] Hibernate:
| select
| hibernate_sequence.nextval
| from
| dual
| 14:37:19,337 INFO [STDOUT] Hibernate:
| select
| hibernate_sequence.nextval
| from
| dual
| 14:37:19,337 INFO [STDOUT] Hibernate:
| select
| hibernate_sequence.nextval
| from
| dual
| 14:37:19,352 INFO [STDOUT] Hibernate:
| /* insert org.jbpm.graph.exe.Token
| */ insert
| into
| JBPM_TOKEN
| (VERSION_, NAME_, START_, END_, NODEENTER_, NEXTLOGINDEX_, ISABLETOREACTIVATEPARENT_, ISTERMINATIONIMPLICIT_, ISSUSPENDED_, LOCK_, NODE_, PROCESSINSTANCE_, PARENT_, SUBPROCESSINSTANCE_, ID_)
| values
| (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
| 14:37:19,368 WARN [JDBCExceptionReporter] SQL Error: 1, SQLState: 23000
| 14:37:19,368 ERROR [JDBCExceptionReporter] ORA-00001: violation de contrainte unique (JBPM.SYS_C005977)
|
| 14:37:19,368 WARN [JDBCExceptionReporter] SQL Error: 1, SQLState: 23000
| 14:37:19,368 ERROR [JDBCExceptionReporter] ORA-00001: violation de contrainte unique (JBPM.SYS_C005977)
|
| 14:37:19,368 ERROR [AbstractFlushingEventListener] Could not synchronize database state with session
| org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
| at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:94)
| at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
| at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:275)
| at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:114)
| at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:109)
| at org.hibernate.jdbc.AbstractBatcher.prepareBatchStatement(AbstractBatcher.java:244)
| at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2252)
| at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2688)
| at org.hibernate.action.EntityInsertAction.execute(EntityInsertAction.java:79)
| 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:167)
| 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:263)
| at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:86)
| at com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:177)
| at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1414)
| at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:135)
| at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:75)
| at org.jboss.aspects.tx.TxPolicy.endTransaction(TxPolicy.java:170)
| at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:87)
| at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:190)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
| at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
| at org.jboss.ejb3.tx.NullInterceptor.invoke(NullInterceptor.java:42)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
| at org.jboss.ejb3.security.Ejb3AuthenticationInterceptorv2.invoke(Ejb3AuthenticationInterceptorv2.java:186)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
| at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:41)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
| at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
| at org.jboss.ejb3.BlockContainerShutdownInterceptor.invoke(BlockContainerShutdownInterceptor.java:67)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
| at org.jboss.aspects.currentinvocation.CurrentInvocationInterceptor.invoke(CurrentInvocationInterceptor.java:67)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
| at org.jboss.ejb3.stateless.StatelessContainer.dynamicInvoke(StatelessContainer.java:487)
| at org.jboss.ejb3.session.InvokableContextClassProxyHack._dynamicInvoke(InvokableContextClassProxyHack.java:53)
| at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:91)
| at org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invoke(AOPRemotingInvocationHandler.java:82)
| at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:908)
| at org.jboss.remoting.transport.socket.ServerThread.completeInvocation(ServerThread.java:742)
| at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:695)
| at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:522)
| at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:230)
| Caused by: java.sql.BatchUpdateException: ORA-00001: violation de contrainte unique (JBPM.SYS_C005977)
|
| at oracle.jdbc.driver.DatabaseError.throwBatchUpdateException(DatabaseError.java:674)
| at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:9394)
| at oracle.jdbc.driver.OracleStatementWrapper.executeBatch(OracleStatementWrapper.java:211)
| at org.jboss.resource.adapter.jdbc.CachedPreparedStatement.executeBatch(CachedPreparedStatement.java:476)
| at org.jboss.resource.adapter.jdbc.WrappedStatement.executeBatch(WrappedStatement.java:774)
| at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:70)
| at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:268)
| ... 48 more
| 14:37:19,368 WARN [arjLoggerI18N] [com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator_2] TwoPhaseCoordinator.beforeCompletion - failed for com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple at 13fa39d
| org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
| at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:94)
| at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
| at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:275)
| at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:114)
| at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:109)
| at org.hibernate.jdbc.AbstractBatcher.prepareBatchStatement(AbstractBatcher.java:244)
| at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2252)
| at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2688)
| at org.hibernate.action.EntityInsertAction.execute(EntityInsertAction.java:79)
| 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:167)
| 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:263)
| at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:86)
| at com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:177)
| at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1414)
| at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:135)
| at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:75)
| at org.jboss.aspects.tx.TxPolicy.endTransaction(TxPolicy.java:170)
| at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:87)
| at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:190)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
| at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
| at org.jboss.ejb3.tx.NullInterceptor.invoke(NullInterceptor.java:42)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
| at org.jboss.ejb3.security.Ejb3AuthenticationInterceptorv2.invoke(Ejb3AuthenticationInterceptorv2.java:186)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
| at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:41)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
| at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
| at org.jboss.ejb3.BlockContainerShutdownInterceptor.invoke(BlockContainerShutdownInterceptor.java:67)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
| at org.jboss.aspects.currentinvocation.CurrentInvocationInterceptor.invoke(CurrentInvocationInterceptor.java:67)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
| at org.jboss.ejb3.stateless.StatelessContainer.dynamicInvoke(StatelessContainer.java:487)
| at org.jboss.ejb3.session.InvokableContextClassProxyHack._dynamicInvoke(InvokableContextClassProxyHack.java:53)
| at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:91)
| at org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invoke(AOPRemotingInvocationHandler.java:82)
| at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:908)
| at org.jboss.remoting.transport.socket.ServerThread.completeInvocation(ServerThread.java:742)
| at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:695)
| at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:522)
| at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:230)
| Caused by: java.sql.BatchUpdateException: ORA-00001: violation de contrainte unique (JBPM.SYS_C005977)
|
| at oracle.jdbc.driver.DatabaseError.throwBatchUpdateException(DatabaseError.java:674)
| at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:9394)
| at oracle.jdbc.driver.OracleStatementWrapper.executeBatch(OracleStatementWrapper.java:211)
| at org.jboss.resource.adapter.jdbc.CachedPreparedStatement.executeBatch(CachedPreparedStatement.java:476)
| at org.jboss.resource.adapter.jdbc.WrappedStatement.executeBatch(WrappedStatement.java:774)
| at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:70)
| at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:268)
| ... 48 more
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4224672#4224672
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4224672
More information about the jboss-user
mailing list