You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Tamas Cserveny (JIRA)" <ji...@apache.org> on 2014/10/17 15:47:34 UTC

[jira] [Created] (AMQ-5400) Unable to keep message order using ActiveMQ-RAR

Tamas Cserveny created AMQ-5400:
-----------------------------------

             Summary: Unable to keep message order using ActiveMQ-RAR 
                 Key: AMQ-5400
                 URL: https://issues.apache.org/jira/browse/AMQ-5400
             Project: ActiveMQ
          Issue Type: Bug
    Affects Versions: 5.10.0
         Environment: JBoss EAP6 + ActiveMQ 5.10.0
            Reporter: Tamas Cserveny


We have an application server which processes the messages using an MDB.  We are using message grouping to keep the message processing order.

It seems that it is not possible to do this, because in case the onMessage signals rollback, then the queue does not block until the redelivery time, but keeps on dispatching.

ActiveMQSession.java method afterRollback() @938 is triggered in this case. Which will redeliver the message by scheduling it:

connection.getScheduler().executeAfterDelay(new Runnable() {

                                    @Override
                                    public void run() {
                                        ((ActiveMQDispatcher)md.getConsumer()).dispatch(md);
                                    }
                                }, redeliveryDelay);

The session is not blocked or otherwise stopped from processing more messages, so it does it.

Setting prefetch=1 for the consumer did not helped.
I have maxSessions=1 in the activationSpec.




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)