You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomee.apache.org by "Leonardo K. Shikida" <sh...@gmail.com> on 2015/08/04 19:23:07 UTC

very very long activemq timeout needed

Hi

I have a very very very long job (> 1 h) to be run in my MDB and since it
happens inside an activeMQ transaction, i'm getting a timeout like this

org.apache.openejb.core.transaction.TransactionRolledbackException:
Transaction was rolled back, presumably because setRollbackOnly was called
during a synchronization: Transaction was rolled back, presumably because
setRollbackOnly was called during a synchronization
        at
org.apache.openejb.core.transaction.JtaTransactionPolicy.completeTransaction(JtaTransactionPolicy.java:336)
        at
org.apache.openejb.core.transaction.TxRequired.commit(TxRequired.java:75)
        at
org.apache.openejb.core.transaction.EjbTransactionUtil.afterInvoke(EjbTransactionUtil.java:76)
        at
org.apache.openejb.core.mdb.MdbContainer.afterDelivery(MdbContainer.java:436)
        at
org.apache.openejb.core.mdb.EndpointHandler.afterDelivery(EndpointHandler.java:272)
        at
org.apache.openejb.core.mdb.EndpointHandler.invoke(EndpointHandler.java:162)
        at...
org.apache.activemq.ra.MessageEndpointProxy$MessageEndpointAlive.afterDelivery(MessageEndpointProxy.java:128)
        at
org.apache.activemq.ra.MessageEndpointProxy.afterDelivery(MessageEndpointProxy.java:69)
        at
org.apache.activemq.ra.ServerSessionImpl.afterDelivery(ServerSessionImpl.java:224)
        at org.apache.activemq.ActiveMQSession.run(ActiveMQSession.java:938)
        at
org.apache.activemq.ra.ServerSessionImpl.run(ServerSessionImpl.java:169)
        at
org.apache.geronimo.connector.work.WorkerContext.run(WorkerContext.java:366)
        at
org.apache.geronimo.connector.work.pool.NamedRunnable.run(NamedRunnable.java:32)
        at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:724)
Caused by:
org.apache.openejb.core.transaction.TransactionRolledbackException:
Transaction was rolled back, presumably because setRollbackOnly was called
during a synchronization
        at
org.apache.openejb.core.transaction.JtaTransactionPolicy.completeTransaction(JtaTransactionPolicy.java:335)
        ... 16 more
Caused by: javax.transaction.RollbackException: Unable to commit:
transaction marked for rollback
        at
org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:272)
        at
org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit(TransactionManagerImpl.java:252)
        at
org.apache.openejb.core.transaction.JtaTransactionPolicy.completeTransaction(JtaTransactionPolicy.java:328)
        ... 16 more
Caused by: java.lang.Exception: Transaction has timed out
        at
org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:266)
        ... 18 more
Aug 04, 2015 4:12:53 PM org.apache.activemq.ra.ServerSessionImpl run

ActiveMQ is an external one (not the one embedded in tomee)

What configuration should I change in this case?

TIA

Leo

Re: very very long activemq timeout needed

Posted by "Leonardo K. Shikida" <sh...@gmail.com>.
thanks, it did the trick!



[]

Leo

On Tue, Aug 4, 2015 at 2:32 PM, Romain Manni-Bucau <rm...@gmail.com>
wrote:

> Hi
>
> before the transaction starts set the transaction timeout on the
> transaction manager or if you want it to be global define the transaction
> manager in tomee.xml:
>
> <TransactionManager id="Default Transaction Manager"
> type="TransactionManager"
> > defaultTransactionTimeout = 1 hour 30 minutes
> </TransactionManager>
>
>
> Romain Manni-Bucau
> @rmannibucau <https://twitter.com/rmannibucau> |  Blog
> <http://rmannibucau.wordpress.com> | Github <
> https://github.com/rmannibucau> |
> LinkedIn <https://www.linkedin.com/in/rmannibucau> | Tomitriber
> <http://www.tomitribe.com>
>
> 2015-08-04 19:23 GMT+02:00 Leonardo K. Shikida <sh...@gmail.com>:
>
> > Hi
> >
> > I have a very very very long job (> 1 h) to be run in my MDB and since it
> > happens inside an activeMQ transaction, i'm getting a timeout like this
> >
> > org.apache.openejb.core.transaction.TransactionRolledbackException:
> > Transaction was rolled back, presumably because setRollbackOnly was
> called
> > during a synchronization: Transaction was rolled back, presumably because
> > setRollbackOnly was called during a synchronization
> >         at
> >
> >
> org.apache.openejb.core.transaction.JtaTransactionPolicy.completeTransaction(JtaTransactionPolicy.java:336)
> >         at
> > org.apache.openejb.core.transaction.TxRequired.commit(TxRequired.java:75)
> >         at
> >
> >
> org.apache.openejb.core.transaction.EjbTransactionUtil.afterInvoke(EjbTransactionUtil.java:76)
> >         at
> >
> >
> org.apache.openejb.core.mdb.MdbContainer.afterDelivery(MdbContainer.java:436)
> >         at
> >
> >
> org.apache.openejb.core.mdb.EndpointHandler.afterDelivery(EndpointHandler.java:272)
> >         at
> >
> >
> org.apache.openejb.core.mdb.EndpointHandler.invoke(EndpointHandler.java:162)
> >         at...
> >
> >
> org.apache.activemq.ra.MessageEndpointProxy$MessageEndpointAlive.afterDelivery(MessageEndpointProxy.java:128)
> >         at
> >
> >
> org.apache.activemq.ra.MessageEndpointProxy.afterDelivery(MessageEndpointProxy.java:69)
> >         at
> >
> >
> org.apache.activemq.ra.ServerSessionImpl.afterDelivery(ServerSessionImpl.java:224)
> >         at
> > org.apache.activemq.ActiveMQSession.run(ActiveMQSession.java:938)
> >         at
> > org.apache.activemq.ra.ServerSessionImpl.run(ServerSessionImpl.java:169)
> >         at
> >
> >
> org.apache.geronimo.connector.work.WorkerContext.run(WorkerContext.java:366)
> >         at
> >
> >
> org.apache.geronimo.connector.work.pool.NamedRunnable.run(NamedRunnable.java:32)
> >         at
> >
> >
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> >         at
> >
> >
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> >         at java.lang.Thread.run(Thread.java:724)
> > Caused by:
> > org.apache.openejb.core.transaction.TransactionRolledbackException:
> > Transaction was rolled back, presumably because setRollbackOnly was
> called
> > during a synchronization
> >         at
> >
> >
> org.apache.openejb.core.transaction.JtaTransactionPolicy.completeTransaction(JtaTransactionPolicy.java:335)
> >         ... 16 more
> > Caused by: javax.transaction.RollbackException: Unable to commit:
> > transaction marked for rollback
> >         at
> >
> >
> org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:272)
> >         at
> >
> >
> org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit(TransactionManagerImpl.java:252)
> >         at
> >
> >
> org.apache.openejb.core.transaction.JtaTransactionPolicy.completeTransaction(JtaTransactionPolicy.java:328)
> >         ... 16 more
> > Caused by: java.lang.Exception: Transaction has timed out
> >         at
> >
> >
> org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:266)
> >         ... 18 more
> > Aug 04, 2015 4:12:53 PM org.apache.activemq.ra.ServerSessionImpl run
> >
> > ActiveMQ is an external one (not the one embedded in tomee)
> >
> > What configuration should I change in this case?
> >
> > TIA
> >
> > Leo
> >
>

Re: very very long activemq timeout needed

Posted by Romain Manni-Bucau <rm...@gmail.com>.
Hi

before the transaction starts set the transaction timeout on the
transaction manager or if you want it to be global define the transaction
manager in tomee.xml:

<TransactionManager id="Default Transaction Manager"
type="TransactionManager"
> defaultTransactionTimeout = 1 hour 30 minutes
</TransactionManager>


Romain Manni-Bucau
@rmannibucau <https://twitter.com/rmannibucau> |  Blog
<http://rmannibucau.wordpress.com> | Github <https://github.com/rmannibucau> |
LinkedIn <https://www.linkedin.com/in/rmannibucau> | Tomitriber
<http://www.tomitribe.com>

2015-08-04 19:23 GMT+02:00 Leonardo K. Shikida <sh...@gmail.com>:

> Hi
>
> I have a very very very long job (> 1 h) to be run in my MDB and since it
> happens inside an activeMQ transaction, i'm getting a timeout like this
>
> org.apache.openejb.core.transaction.TransactionRolledbackException:
> Transaction was rolled back, presumably because setRollbackOnly was called
> during a synchronization: Transaction was rolled back, presumably because
> setRollbackOnly was called during a synchronization
>         at
>
> org.apache.openejb.core.transaction.JtaTransactionPolicy.completeTransaction(JtaTransactionPolicy.java:336)
>         at
> org.apache.openejb.core.transaction.TxRequired.commit(TxRequired.java:75)
>         at
>
> org.apache.openejb.core.transaction.EjbTransactionUtil.afterInvoke(EjbTransactionUtil.java:76)
>         at
>
> org.apache.openejb.core.mdb.MdbContainer.afterDelivery(MdbContainer.java:436)
>         at
>
> org.apache.openejb.core.mdb.EndpointHandler.afterDelivery(EndpointHandler.java:272)
>         at
>
> org.apache.openejb.core.mdb.EndpointHandler.invoke(EndpointHandler.java:162)
>         at...
>
> org.apache.activemq.ra.MessageEndpointProxy$MessageEndpointAlive.afterDelivery(MessageEndpointProxy.java:128)
>         at
>
> org.apache.activemq.ra.MessageEndpointProxy.afterDelivery(MessageEndpointProxy.java:69)
>         at
>
> org.apache.activemq.ra.ServerSessionImpl.afterDelivery(ServerSessionImpl.java:224)
>         at
> org.apache.activemq.ActiveMQSession.run(ActiveMQSession.java:938)
>         at
> org.apache.activemq.ra.ServerSessionImpl.run(ServerSessionImpl.java:169)
>         at
>
> org.apache.geronimo.connector.work.WorkerContext.run(WorkerContext.java:366)
>         at
>
> org.apache.geronimo.connector.work.pool.NamedRunnable.run(NamedRunnable.java:32)
>         at
>
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>         at
>
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>         at java.lang.Thread.run(Thread.java:724)
> Caused by:
> org.apache.openejb.core.transaction.TransactionRolledbackException:
> Transaction was rolled back, presumably because setRollbackOnly was called
> during a synchronization
>         at
>
> org.apache.openejb.core.transaction.JtaTransactionPolicy.completeTransaction(JtaTransactionPolicy.java:335)
>         ... 16 more
> Caused by: javax.transaction.RollbackException: Unable to commit:
> transaction marked for rollback
>         at
>
> org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:272)
>         at
>
> org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit(TransactionManagerImpl.java:252)
>         at
>
> org.apache.openejb.core.transaction.JtaTransactionPolicy.completeTransaction(JtaTransactionPolicy.java:328)
>         ... 16 more
> Caused by: java.lang.Exception: Transaction has timed out
>         at
>
> org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:266)
>         ... 18 more
> Aug 04, 2015 4:12:53 PM org.apache.activemq.ra.ServerSessionImpl run
>
> ActiveMQ is an external one (not the one embedded in tomee)
>
> What configuration should I change in this case?
>
> TIA
>
> Leo
>