You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Timothy Bish (Closed) (JIRA)" <ji...@apache.org> on 2012/01/05 15:03:39 UTC

[jira] [Closed] (AMQ-3650) Only 7 retries after XA Rollback

     [ https://issues.apache.org/jira/browse/AMQ-3650?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Timothy Bish closed AMQ-3650.
-----------------------------

    Resolution: Not A Problem

This is working as designed, changing the redelivery policy to increase the number of re-deliveries will solve the issue.  
                
> Only 7 retries after XA Rollback
> --------------------------------
>
>                 Key: AMQ-3650
>                 URL: https://issues.apache.org/jira/browse/AMQ-3650
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: activemq-camel
>    Affects Versions: 5.5.1
>         Environment: MacOS X Lion but should also happen on other operation systems
>            Reporter: Sören Meier
>
> If I put a message on a queue an receive those message inside a xa session the message will only be received 7 times if I rollback the session after having received the message. I would expect that the message will be received as long as that message does not time out. I thought there might be a configuration option to change that behaviour but I have not found anything like that.
> You may reproduce the Error using the atomikos transaction manager like this:
>        public void testTest() throws Exception{
>       System.setProperty("com.atomikos.icatch.service", "com.atomikos.icatch.standalone.UserTransactionServiceFactory");
>       System.setProperty("com.atomikos.icatch.no_file", "true");
>       UserTransactionManager transactionManager = new UserTransactionManager();
>       transactionManager.init();
>       ActiveMQXAConnectionFactory activeMQXAConnectionFactory = new ActiveMQXAConnectionFactory("tcp://localhost:61616");
>       XAConnection xaConn = activeMQXAConnectionFactory.createXAConnection();
>       
>       xaConn.start();
>       Session session = xaConn.createSession(false, Session.AUTO_ACKNOWLEDGE);
>       session.createProducer(session.createQueue("testQueue")).send(session.createTextMessage("tests"),DeliveryMode.NON_PERSISTENT,1,0);
>       session.close();
>       for (int i=0;i<100;i++) {
>          transactionManager.begin();
>          XASession xaSession = xaConn.createXASession();
>          transactionManager.getTransaction().enlistResource(xaSession.getXAResource());
>          MessageConsumer consumer = xaSession.createConsumer(xaSession.createQueue("testQueue"));
>          Message receive = consumer.receive(3000);
>          assertNotNull(receive);
>          transactionManager.rollback();
>          consumer.close();
>       }
>       
>       
>    }

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira