activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sharath Komarla (JIRA)" <>
Subject [jira] Updated: (AMQ-1126) The Resource Adapter ignores the JMSXGroupID when dispatching to MDBs
Date Fri, 21 Nov 2008 18:56:05 GMT


Sharath Komarla updated AMQ-1126:


Here is a zip of a mvn project using spring.  It has a junit test with two tests in it.  

Both tests start out with sending some message to a same queue split across three different
group ids (20, 10, 5) across groups A, B, C respectively.  My understanding of message groups
leads me to believe that the messages within a group are delivered sequentially, but across
the groups they are delivered in parallel.

If you look at the output of the unit tests, it does not seem to be the case. 1 test uses
the connection factory directly to setup message consumers, and another uses spring's listener
container.  Neither seem to do what I expect. Maybe I just have something setup horribly incorrectly,
but I've seen the exact same bahaviour using the RA.

If I get the time today, I'll try to set something up that uses the RA directly (using the
junit tests under activemq-ra as inspiration) to see if i can recreate a unit test dirctly
using the RA code that exhibits the problem.


> The Resource Adapter ignores the JMSXGroupID when dispatching to MDBs
> ---------------------------------------------------------------------
>                 Key: AMQ-1126
>                 URL:
>             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: 5.3.0
>         Attachments:
> 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.
You can reply to this email to add a comment to the issue online.

View raw message