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)