13 Replies Latest reply on Jan 27, 2013 9:32 AM by Bob Kung

    Message stuck in delivery on transaction rollback

    Bob Kung Newbie

      Hi,

       

      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.