ode-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Vito <testfor...@163.com>
Subject TransactionManager error when invoking multiple instances on two ODE engines
Date Tue, 11 Mar 2014 08:44:58 GMT
 Hi all, I'm trying to invoke multiple instances on two ODE engines.
I deployed the two engines in two tomcat servers of different ports in the same computer.
Then invoked 15 same process instances on each ODE engine, and the two process definitions
for the two engines are not the same. When I invoked them all, the first engine went well,
but the instances on the second engine sometimes worked well, sometimes it threw exception
like below:

16:28:01,939 WARN  [Transaction] Unexpected exception from beforeCompletion; transaction will
roll back
<openjpa-1.2.1-r752877:753278 nonfatal user error> org.apache.openjpa.persistence.InvalidStateException:
Attempt to commit a null javax.transaction.Transaction.  Some application servers set the
transaction to null if a rollback occurs.
    at org.apache.openjpa.kernel.BrokerImpl.setRollbackOnlyInternal(BrokerImpl.java:1490)
    at org.apache.openjpa.kernel.BrokerImpl.setRollbackOnly(BrokerImpl.java:1476)
    at org.apache.openjpa.kernel.DelegatingBroker.setRollbackOnly(DelegatingBroker.java:925)
    at org.apache.openjpa.persistence.EntityManagerImpl.setRollbackOnly(EntityManagerImpl.java:560)
    at org.apache.openjpa.persistence.PersistenceExceptions$2.translate(PersistenceExceptions.java:71)
    at org.apache.openjpa.kernel.BrokerImpl.translateManagedCompletionException(BrokerImpl.java:1896)
    at org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:1830)
    at org.apache.geronimo.transaction.manager.TransactionImpl.beforeCompletion(TransactionImpl.java:514)
    at org.apache.geronimo.transaction.manager.TransactionImpl.beforeCompletion(TransactionImpl.java:498)
    at org.apache.geronimo.transaction.manager.TransactionImpl.beforePrepare(TransactionImpl.java:400)
    at org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:257)
    at org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit(TransactionManagerImpl.java:238)
    at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:291)
    at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:239)
    at org.apache.ode.scheduler.simple.SimpleScheduler$RunJob.call(SimpleScheduler.java:512)
    at org.apache.ode.scheduler.simple.SimpleScheduler$RunJob.call(SimpleScheduler.java:496)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:662)

BTW after the error the instances can still go on to the normal end. Maybe the rollback saved
the instance.
It seems that something went wrong with the transaction manager. Could you help me figure
out how this error came out?
Best,
Vito
Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message