You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Jason Shepherd (JIRA)" <ji...@apache.org> on 2013/03/26 07:11:18 UTC

[jira] [Commented] (AMQ-1126) The Resource Adapter ignores the JMSXGroupID when dispatching to MDBs

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

Jason Shepherd commented on AMQ-1126:
-------------------------------------

This does still exist in the latest release RAR 5.8.0. However a workaround, or possible solution, is to create an MDB for each group. 

We found that when you have more than MDB listening to the same queue, each MDB pool acts as a unique consumer for message grouping. That is once an instance from the MDB pool picks up a message from group 1, all subsequent messages for group 1 are picked up by an instance in the same pool.
                
> The Resource Adapter ignores the JMSXGroupID when dispatching to MDBs
> ---------------------------------------------------------------------
>
>                 Key: AMQ-1126
>                 URL: https://issues.apache.org/jira/browse/AMQ-1126
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: JCA Container
>    Affects Versions: 4.0.1
>         Environment: Java 1.4.2_08
> JBoss 4.0.4
> ActiveMQ 4.0.1
>            Reporter: John Robinson
>             Fix For: NEEDS_REVIEWED
>
>         Attachments: msg-group-test.zip
>
>
> Integrate AMQ into JBoss using the data source, and resource adapter.  Create an outbound queue and an MDB with a pool size of 100.  Dispatch several messages to the outbound queue, setting the JMSXGroupID property on the message to be the same value each time.  In the MDB's onMessage method print out the MDBs toString (don't override toString) and you should see something that looks like:
> OutQueueProcessorBean@19a7266
> Observe two things:
> a) Many messages are processed in parallel
> b) Many different values will occur after the @ in the above message, denoting that more than on MDB instance is being handed messages.
> The correct behavior would be to dispatch messages with the same group id to the same MDB instance in sequence.  This would allow messages from different groups to be processed in parallel, but messages in any one group would be processed serially, in the order in which they were placed into the queue.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira