You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Gary Tully (JIRA)" <ji...@apache.org> on 2015/07/16 13:41:04 UTC
[jira] [Resolved] (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:all-tabpanel ]
Gary Tully resolved AMQ-5400.
-----------------------------
Resolution: Fixed
Fix Version/s: 5.12.0
> 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: Gary Tully
> Fix For: 5.12.0
>
> 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)