Message stuck in delivery on transaction rollback
r4_1314 Oct 16, 2012 4:53 AMHi,
I have a test MDB which will sleep 10 seconds per message receives, and the "transactionTimeout" is 5. Turn out that the transaction will rollback due to timeout. Moreover, The MDB will throw RuntimeException again when it hit any exception. Source code as follow
@MessageDriven(activationConfig = { @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue"), @ActivationConfigProperty(propertyName = "destination", propertyValue = "myQueue"), @ActivationConfigProperty(propertyName = "transactionTimeout", propertyValue = "5"), @ActivationConfigProperty(propertyName = "messageSelector", propertyValue = "task = '6'"), @ActivationConfigProperty(propertyName = "maxSession", propertyValue = "15")}, mappedName = "RemoteQueueTest") public class TransactionTest implements MessageListener { public TransactionTest() { } public void onMessage(Message message) { TextMessage tm = (TextMessage) message; int sleep= 10000; try { System.out.println("Transaction Queue test received queue, message = " + tm.getText()); System.out.println("Start to sleep "+sleep/1000+" seconds "); Thread.sleep(sleep); System.out.println("Wake up!"); } catch (Exception e) { System.out.println(e.getMessage()); throw new RuntimeException("rollback exception!"); } } }
When I set "max-delivery-attempts
" > 0 , all messages will drop to DLQ eventually. However, when the value set to 0 (-1 for infinite redeliveries), messages keep redelivery. Worstly, all messages stopped delivery after I reset the value from 0 to 1. After jboss(JBoss AS 7.1.0-final ) restart, it resume normal.
I've googled a lot, it seems due to the JTA transaction and maybe some hints from this post
https://issues.jboss.org/browse/JBAS-7950
I posted a part of my log to see if it may help. Please trace the log by thread id else you can't get the real truth.
15:57:22,581 INFO [stdout] (Thread-11 (HornetQ-client-global-threads-1398811002)) Transaction Queue test received queue, message = test 15:57:22,581 INFO [stdout] (Thread-11 (HornetQ-client-global-threads-1398811002)) Start to sleep 10 seconds 15:57:27,540 INFO [stdout] (Thread-15 (HornetQ-client-global-threads-1398811002)) Wake up! 15:57:27,540 TRACE [org.jboss.as.ejb3] (Thread-15 (HornetQ-client-global-threads-1398811002)) 13/20 Free instance: org.jboss.as.ejb3.pool.strictmax.StrictMaxPool@2b1f6f13 15:57:27,540 TRACE [org.jboss.as.ejb3] (Thread-15 (HornetQ-client-global-threads-1398811002)) 13/20 Free instance: org.jboss.as.ejb3.pool.strictmax.StrictMaxPool@2b1f6f13 15:57:27,542 WARN [com.arjuna.ats.arjuna] (Thread-15 (HornetQ-client-global-threads-1398811002)) ARJUNA012077: Abort called on already aborted atomic action 0:ffff7f000101:27844c54:507cea72:3e9 15:57:27,543 WARN [org.hornetq.ra.inflow.HornetQMessageHandler] (Thread-15 (HornetQ-client-global-threads-1398811002)) Unable to call after delivery: javax.resource.spi.LocalTransactionException: javax.transaction.RollbackException: ARJUNA016063: The transaction is not active! at org.jboss.as.ejb3.inflow.MessageEndpointInvocationHandler.afterDelivery(MessageEndpointInvocationHandler.java:88) at sun.reflect.GeneratedMethodAccessor14.invoke(Unknown Source) [:1.6.0_24] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.6.0_24] at java.lang.reflect.Method.invoke(Method.java:616) [rt.jar:1.6.0_24] at org.jboss.as.ejb3.inflow.AbstractInvocationHandler.handle(AbstractInvocationHandler.java:60) at org.jboss.as.ejb3.inflow.MessageEndpointInvocationHandler.doInvoke(MessageEndpointInvocationHandler.java:136) at org.jboss.as.ejb3.inflow.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:73) at $Proxy17.afterDelivery(Unknown Source) at org.hornetq.ra.inflow.HornetQMessageHandler.onMessage(HornetQMessageHandler.java:287) [hornetq-ra-2.2.11.Final.jar:] at org.hornetq.core.client.impl.ClientConsumerImpl.callOnMessage(ClientConsumerImpl.java:983) [hornetq-core-2.2.11.Final.jar:] at org.hornetq.core.client.impl.ClientConsumerImpl.access$400(ClientConsumerImpl.java:48) [hornetq-core-2.2.11.Final.jar:] at org.hornetq.core.client.impl.ClientConsumerImpl$Runner.run(ClientConsumerImpl.java:1113) [hornetq-core-2.2.11.Final.jar:] at org.hornetq.utils.OrderedExecutorFactory$OrderedExecutor$1.run(OrderedExecutorFactory.java:100) [hornetq-core-2.2.11.Final.jar:] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [rt.jar:1.6.0_24] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [rt.jar:1.6.0_24] at java.lang.Thread.run(Thread.java:679) [rt.jar:1.6.0_24] Caused by: javax.transaction.RollbackException: ARJUNA016063: The transaction is not active! at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1155) [jbossjts-4.16.2.Final.jar:] at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:117) [jbossjts-4.16.2.Final.jar:] at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:75) at org.jboss.as.ejb3.inflow.MessageEndpointInvocationHandler.afterDelivery(MessageEndpointInvocationHandler.java:72) ... 15 more 15:57:27,579 WARN [com.arjuna.ats.arjuna] (Transaction Reaper) ARJUNA012117: TransactionReaper::check timeout for TX 0:ffff7f000101:27844c54:507cea72:3ed in state RUN 15:57:27,581 WARN [com.arjuna.ats.arjuna] (Transaction Reaper Worker 0) ARJUNA012095: Abort of action id 0:ffff7f000101:27844c54:507cea72:3ed invoked while multiple threads active within it. 15:57:27,582 WARN [com.arjuna.ats.arjuna] (Transaction Reaper Worker 0) ARJUNA012108: CheckedAction::check - atomic action 0:ffff7f000101:27844c54:507cea72:3ed aborting with 1 threads active! 15:57:27,627 WARN [com.arjuna.ats.arjuna] (Transaction Reaper Worker 0) ARJUNA012121: TransactionReaper::doCancellations worker Thread[Transaction Reaper Worker 0,5,main] successfully canceled TX 0:ffff7f000101:27844c54:507cea72:3ed 15:57:27,631 INFO [stdout] (Thread-15 (HornetQ-client-global-threads-1398811002)) Transaction Queue test received queue, message = test 15:57:27,632 INFO [stdout] (Thread-15 (HornetQ-client-global-threads-1398811002)) Start to sleep 10 seconds 15:57:32,582 INFO [stdout] (Thread-11 (HornetQ-client-global-threads-1398811002)) Wake up! 15:57:32,583 TRACE [org.jboss.as.ejb3] (Thread-11 (HornetQ-client-global-threads-1398811002)) 13/20 Free instance: org.jboss.as.ejb3.pool.strictmax.StrictMaxPool@2b1f6f13 15:57:32,583 TRACE [org.jboss.as.ejb3] (Thread-11 (HornetQ-client-global-threads-1398811002)) 13/20 Free instance: org.jboss.as.ejb3.pool.strictmax.StrictMaxPool@2b1f6f13 15:57:32,585 WARN [com.arjuna.ats.arjuna] (Thread-11 (HornetQ-client-global-threads-1398811002)) ARJUNA012077: Abort called on already aborted atomic action 0:ffff7f000101:27844c54:507cea72:3ed 15:57:32,586 WARN [org.hornetq.ra.inflow.HornetQMessageHandler] (Thread-11 (HornetQ-client-global-threads-1398811002)) Unable to call after delivery: javax.resource.spi.LocalTransactionException: javax.transaction.RollbackException: ARJUNA016063: The transaction is not active! at org.jboss.as.ejb3.inflow.MessageEndpointInvocationHandler.afterDelivery(MessageEndpointInvocationHandler.java:88) at sun.reflect.GeneratedMethodAccessor14.invoke(Unknown Source) [:1.6.0_24] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.6.0_24] at java.lang.reflect.Method.invoke(Method.java:616) [rt.jar:1.6.0_24] at org.jboss.as.ejb3.inflow.AbstractInvocationHandler.handle(AbstractInvocationHandler.java:60) at org.jboss.as.ejb3.inflow.MessageEndpointInvocationHandler.doInvoke(MessageEndpointInvocationHandler.java:136) at org.jboss.as.ejb3.inflow.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:73) at $Proxy17.afterDelivery(Unknown Source) at org.hornetq.ra.inflow.HornetQMessageHandler.onMessage(HornetQMessageHandler.java:287) [hornetq-ra-2.2.11.Final.jar:] at org.hornetq.core.client.impl.ClientConsumerImpl.callOnMessage(ClientConsumerImpl.java:983) [hornetq-core-2.2.11.Final.jar:] at org.hornetq.core.client.impl.ClientConsumerImpl.access$400(ClientConsumerImpl.java:48) [hornetq-core-2.2.11.Final.jar:] at org.hornetq.core.client.impl.ClientConsumerImpl$Runner.run(ClientConsumerImpl.java:1113) [hornetq-core-2.2.11.Final.jar:] at org.hornetq.utils.OrderedExecutorFactory$OrderedExecutor$1.run(OrderedExecutorFactory.java:100) [hornetq-core-2.2.11.Final.jar:] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [rt.jar:1.6.0_24] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [rt.jar:1.6.0_24] at java.lang.Thread.run(Thread.java:679) [rt.jar:1.6.0_24] Caused by: javax.transaction.RollbackException: ARJUNA016063: The transaction is not active! at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1155) [jbossjts-4.16.2.Final.jar:] at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:117) [jbossjts-4.16.2.Final.jar:] at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:75) at org.jboss.as.ejb3.inflow.MessageEndpointInvocationHandler.afterDelivery(MessageEndpointInvocationHandler.java:72) ... 15 more 15:57:32,629 WARN [com.arjuna.ats.arjuna] (Transaction Reaper) ARJUNA012117: TransactionReaper::check timeout for TX 0:ffff7f000101:27844c54:507cea72:3f1 in state RUN 15:57:32,631 WARN [com.arjuna.ats.arjuna] (Transaction Reaper Worker 0) ARJUNA012095: Abort of action id 0:ffff7f000101:27844c54:507cea72:3f1 invoked while multiple threads active within it. 15:57:32,632 WARN [com.arjuna.ats.arjuna] (Transaction Reaper Worker 0) ARJUNA012108: CheckedAction::check - atomic action 0:ffff7f000101:27844c54:507cea72:3f1 aborting with 1 threads active! 15:57:32,803 WARN [com.arjuna.ats.arjuna] (Transaction Reaper Worker 0) ARJUNA012121: TransactionReaper::doCancellations worker Thread[Transaction Reaper Worker 0,5,main] successfully canceled TX 0:ffff7f000101:27844c54:507cea72:3f1 15:57:32,806 INFO [stdout] (Thread-18 (HornetQ-client-global-threads-1398811002)) Transaction Queue test received queue, message = test 15:57:32,808 INFO [stdout] (Thread-18 (HornetQ-client-global-threads-1398811002)) Start to sleep 10 seconds 15:57:37,632 INFO [stdout] (Thread-15 (HornetQ-client-global-threads-1398811002)) Wake up! 15:57:37,633 TRACE [org.jboss.as.ejb3] (Thread-15 (HornetQ-client-global-threads-1398811002)) 13/20 Free instance: org.jboss.as.ejb3.pool.strictmax.StrictMaxPool@2b1f6f13 15:57:37,633 TRACE [org.jboss.as.ejb3] (Thread-15 (HornetQ-client-global-threads-1398811002)) 13/20 Free instance: org.jboss.as.ejb3.pool.strictmax.StrictMaxPool@2b1f6f13 15:57:37,635 WARN [com.arjuna.ats.arjuna] (Thread-15 (HornetQ-client-global-threads-1398811002)) ARJUNA012077: Abort called on already aborted atomic action 0:ffff7f000101:27844c54:507cea72:3f1 15:57:37,636 WARN [org.hornetq.ra.inflow.HornetQMessageHandler] (Thread-15 (HornetQ-client-global-threads-1398811002)) Unable to call after delivery: javax.resource.spi.LocalTransactionException: javax.transaction.RollbackException: ARJUNA016063: The transaction is not active! at org.jboss.as.ejb3.inflow.MessageEndpointInvocationHandler.afterDelivery(MessageEndpointInvocationHandler.java:88) at sun.reflect.GeneratedMethodAccessor14.invoke(Unknown Source) [:1.6.0_24] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.6.0_24] at java.lang.reflect.Method.invoke(Method.java:616) [rt.jar:1.6.0_24] at org.jboss.as.ejb3.inflow.AbstractInvocationHandler.handle(AbstractInvocationHandler.java:60) at org.jboss.as.ejb3.inflow.MessageEndpointInvocationHandler.doInvoke(MessageEndpointInvocationHandler.java:136) at org.jboss.as.ejb3.inflow.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:73) at $Proxy17.afterDelivery(Unknown Source) at org.hornetq.ra.inflow.HornetQMessageHandler.onMessage(HornetQMessageHandler.java:287) [hornetq-ra-2.2.11.Final.jar:] at org.hornetq.core.client.impl.ClientConsumerImpl.callOnMessage(ClientConsumerImpl.java:983) [hornetq-core-2.2.11.Final.jar:] at org.hornetq.core.client.impl.ClientConsumerImpl.access$400(ClientConsumerImpl.java:48) [hornetq-core-2.2.11.Final.jar:] at org.hornetq.core.client.impl.ClientConsumerImpl$Runner.run(ClientConsumerImpl.java:1113) [hornetq-core-2.2.11.Final.jar:] at org.hornetq.utils.OrderedExecutorFactory$OrderedExecutor$1.run(OrderedExecutorFactory.java:100) [hornetq-core-2.2.11.Final.jar:] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [rt.jar:1.6.0_24] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [rt.jar:1.6.0_24] at java.lang.Thread.run(Thread.java:679) [rt.jar:1.6.0_24] Caused by: javax.transaction.RollbackException: ARJUNA016063: The transaction is not active! at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1155) [jbossjts-4.16.2.Final.jar:] at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:117) [jbossjts-4.16.2.Final.jar:] at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:75) at org.jboss.as.ejb3.inflow.MessageEndpointInvocationHandler.afterDelivery(MessageEndpointInvocationHandler.java:72) ... 15 more 15:57:37,805 WARN [com.arjuna.ats.arjuna] (Transaction Reaper) ARJUNA012117: TransactionReaper::check timeout for TX 0:ffff7f000101:27844c54:507cea72:3f5 in state RUN 15:57:37,807 WARN [com.arjuna.ats.arjuna] (Transaction Reaper Worker 0) ARJUNA012095: Abort of action id 0:ffff7f000101:27844c54:507cea72:3f5 invoked while multiple threads active within it. 15:57:37,808 WARN [com.arjuna.ats.arjuna] (Transaction Reaper Worker 0) ARJUNA012108: CheckedAction::check - atomic action 0:ffff7f000101:27844c54:507cea72:3f5 aborting with 1 threads active! 15:57:37,853 WARN [com.arjuna.ats.arjuna] (Transaction Reaper Worker 0) ARJUNA012121: TransactionReaper::doCancellations worker Thread[Transaction Reaper Worker 0,5,main] successfully canceled TX 0:ffff7f000101:27844c54:507cea72:3f5 15:57:37,854 INFO [stdout] (Thread-15 (HornetQ-client-global-threads-1398811002)) Transaction Queue test received queue, message = test 15:57:37,855 INFO [stdout] (Thread-15 (HornetQ-client-global-threads-1398811002)) Start to sleep 10 seconds 15:57:42,808 INFO [stdout] (Thread-18 (HornetQ-client-global-threads-1398811002)) Wake up! 15:57:42,809 TRACE [org.jboss.as.ejb3] (Thread-18 (HornetQ-client-global-threads-1398811002)) 13/20 Free instance: org.jboss.as.ejb3.pool.strictmax.StrictMaxPool@2b1f6f13 15:57:42,809 TRACE [org.jboss.as.ejb3] (Thread-18 (HornetQ-client-global-threads-1398811002)) 13/20 Free instance: org.jboss.as.ejb3.pool.strictmax.StrictMaxPool@2b1f6f13 15:57:42,811 WARN [com.arjuna.ats.arjuna] (Thread-18 (HornetQ-client-global-threads-1398811002)) ARJUNA012077: Abort called on already aborted atomic action 0:ffff7f000101:27844c54:507cea72:3f5 15:57:42,812 WARN [org.hornetq.ra.inflow.HornetQMessageHandler] (Thread-18 (HornetQ-client-global-threads-1398811002)) Unable to call after delivery: javax.resource.spi.LocalTransactionException: javax.transaction.RollbackException: ARJUNA016063: The transaction is not active! at org.jboss.as.ejb3.inflow.MessageEndpointInvocationHandler.afterDelivery(MessageEndpointInvocationHandler.java:88) at sun.reflect.GeneratedMethodAccessor14.invoke(Unknown Source) [:1.6.0_24] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.6.0_24] at java.lang.reflect.Method.invoke(Method.java:616) [rt.jar:1.6.0_24] at org.jboss.as.ejb3.inflow.AbstractInvocationHandler.handle(AbstractInvocationHandler.java:60) at org.jboss.as.ejb3.inflow.MessageEndpointInvocationHandler.doInvoke(MessageEndpointInvocationHandler.java:136) at org.jboss.as.ejb3.inflow.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:73) at $Proxy17.afterDelivery(Unknown Source) at org.hornetq.ra.inflow.HornetQMessageHandler.onMessage(HornetQMessageHandler.java:287) [hornetq-ra-2.2.11.Final.jar:] at org.hornetq.core.client.impl.ClientConsumerImpl.callOnMessage(ClientConsumerImpl.java:983) [hornetq-core-2.2.11.Final.jar:] at org.hornetq.core.client.impl.ClientConsumerImpl.access$400(ClientConsumerImpl.java:48) [hornetq-core-2.2.11.Final.jar:] at org.hornetq.core.client.impl.ClientConsumerImpl$Runner.run(ClientConsumerImpl.java:1113) [hornetq-core-2.2.11.Final.jar:] at org.hornetq.utils.OrderedExecutorFactory$OrderedExecutor$1.run(OrderedExecutorFactory.java:100) [hornetq-core-2.2.11.Final.jar:] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [rt.jar:1.6.0_24] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [rt.jar:1.6.0_24] at java.lang.Thread.run(Thread.java:679) [rt.jar:1.6.0_24] Caused by: javax.transaction.RollbackException: ARJUNA016063: The transaction is not active! at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1155) [jbossjts-4.16.2.Final.jar:] at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:117) [jbossjts-4.16.2.Final.jar:] at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:75) at org.jboss.as.ejb3.inflow.MessageEndpointInvocationHandler.afterDelivery(MessageEndpointInvocationHandler.java:72) ... 15 more 15:57:42,853 WARN [com.arjuna.ats.arjuna] (Transaction Reaper) ARJUNA012117: TransactionReaper::check timeout for TX 0:ffff7f000101:27844c54:507cea72:3f9 in state RUN 15:57:42,855 WARN [com.arjuna.ats.arjuna] (Transaction Reaper Worker 0) ARJUNA012095: Abort of action id 0:ffff7f000101:27844c54:507cea72:3f9 invoked while multiple threads active within it. 15:57:42,856 WARN [com.arjuna.ats.arjuna] (Transaction Reaper Worker 0) ARJUNA012108: CheckedAction::check - atomic action 0:ffff7f000101:27844c54:507cea72:3f9 aborting with 1 threads active! 15:57:42,903 WARN [org.hornetq.core.server.impl.QueueImpl] (Thread-25 (HornetQ-server-HornetQServerImpl::serverUUID=4a8eb218-5dcd-11e1-9cf0-005056c00008-760364352)) Message Reference[6454142153]:RELIABLE:ServerMessage[messageID=6454142153,priority=4, bodySize=208,expiration=0, durable=true, address=jms.queue.myQueue,properties=TypedProperties[{task=6}]]@600440087 has reached maximum delivery attempts, sending it to Dead Letter Address jms.queue.DLQ from jms.queue.myQueue 15:57:42,906 WARN [com.arjuna.ats.arjuna] (Transaction Reaper Worker 0) ARJUNA012121: TransactionReaper::doCancellations worker Thread[Transaction Reaper Worker 0,5,main] successfully canceled TX 0:ffff7f000101:27844c54:507cea72:3f9 15:57:47,855 INFO [stdout] (Thread-15 (HornetQ-client-global-threads-1398811002)) Wake up! 15:57:47,856 TRACE [org.jboss.as.ejb3] (Thread-15 (HornetQ-client-global-threads-1398811002)) 14/20 Free instance: org.jboss.as.ejb3.pool.strictmax.StrictMaxPool@2b1f6f13 15:57:47,856 TRACE [org.jboss.as.ejb3] (Thread-15 (HornetQ-client-global-threads-1398811002)) 14/20 Free instance: org.jboss.as.ejb3.pool.strictmax.StrictMaxPool@2b1f6f13 15:57:47,858 WARN [com.arjuna.ats.arjuna] (Thread-15 (HornetQ-client-global-threads-1398811002)) ARJUNA012077: Abort called on already aborted atomic action 0:ffff7f000101:27844c54:507cea72:3f9 15:57:47,859 WARN [org.hornetq.ra.inflow.HornetQMessageHandler] (Thread-15 (HornetQ-client-global-threads-1398811002)) Unable to call after delivery: javax.resource.spi.LocalTransactionException: javax.transaction.RollbackException: ARJUNA016063: The transaction is not active! at org.jboss.as.ejb3.inflow.MessageEndpointInvocationHandler.afterDelivery(MessageEndpointInvocationHandler.java:88) at sun.reflect.GeneratedMethodAccessor14.invoke(Unknown Source) [:1.6.0_24] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.6.0_24] at java.lang.reflect.Method.invoke(Method.java:616) [rt.jar:1.6.0_24] at org.jboss.as.ejb3.inflow.AbstractInvocationHandler.handle(AbstractInvocationHandler.java:60) at org.jboss.as.ejb3.inflow.MessageEndpointInvocationHandler.doInvoke(MessageEndpointInvocationHandler.java:136) at org.jboss.as.ejb3.inflow.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:73) at $Proxy17.afterDelivery(Unknown Source) at org.hornetq.ra.inflow.HornetQMessageHandler.onMessage(HornetQMessageHandler.java:287) [hornetq-ra-2.2.11.Final.jar:] at org.hornetq.core.client.impl.ClientConsumerImpl.callOnMessage(ClientConsumerImpl.java:983) [hornetq-core-2.2.11.Final.jar:] at org.hornetq.core.client.impl.ClientConsumerImpl.access$400(ClientConsumerImpl.java:48) [hornetq-core-2.2.11.Final.jar:] at org.hornetq.core.client.impl.ClientConsumerImpl$Runner.run(ClientConsumerImpl.java:1113) [hornetq-core-2.2.11.Final.jar:] at org.hornetq.utils.OrderedExecutorFactory$OrderedExecutor$1.run(OrderedExecutorFactory.java:100) [hornetq-core-2.2.11.Final.jar:] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [rt.jar:1.6.0_24] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [rt.jar:1.6.0_24] at java.lang.Thread.run(Thread.java:679) [rt.jar:1.6.0_24] Caused by: javax.transaction.RollbackException: ARJUNA016063: The transaction is not active! at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1155) [jbossjts-4.16.2.Final.jar:] at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:117) [jbossjts-4.16.2.Final.jar:] at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:75) at org.jboss.as.ejb3.inflow.MessageEndpointInvocationHandler.afterDelivery(MessageEndpointInvocationHandler.java:72) ... 15 more
I wonder if there is any workaround for this if I do not want to redelivery.