You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Andy Taylor (JIRA)" <ji...@apache.org> on 2015/06/08 16:43:01 UTC

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

    [ https://issues.apache.org/jira/browse/AMQ-5400?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14577269#comment-14577269 ] 

Andy Taylor commented on AMQ-5400:
----------------------------------

Ive reviewed your patch Tamas and it looks fine, i'll get it committed with a couple of tests ive added

> 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.9.0, 5.10.0
>         Environment: JBoss EAP6 + ActiveMQ 5.10.0
>            Reporter: Tamas Cserveny
>            Assignee: Andy Taylor
>         Attachments: block-session-until-redelivery.patch
>
>
> 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)