tomee-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Romain Manni-Bucau <>
Subject Re: Using JMS Message Groups with TomEE
Date Thu, 02 Feb 2017 23:26:07 GMT

You just want to serialize the message processing? Why not using a
container of 1 mdb instance?

Le 2 févr. 2017 23:34, "Ihsan Ecemis" <> a écrit :

> Hi,
> In our application, we have a dozen JMS queues and corresponding MDBs,
> running against an external ActiveMQ server.  All this is running reliably.
> Recently, we had to add a new queue with the following requirement:  Some
> messages should not get processed concurrently.
> It looked like ActiveMQ Message Groups is built for this purpose so we
> added JMSXGroupID to messages that shouldn’t get processed concurrently
> (Reference: <
> However, this has not worked as we expected:  Even though the container is
> using a single MessageConsumer (which may be respecting our JMSXGroupID
> settings),  the onMessage method of multiple MDB instances are getting
> called concurrently for the same JMSXGroupID — and that is not acceptable
> per our requirement.
> Is there a way around this using MDBs?  E.g. some kind of TomEE or
> ActiveMQ setting?
> If this is not possible using MDBs, what kind of architecture can be used
> to solve this problem?  (We thought about creating our own MessageConsumer
> in a Singleton and have it continuously poll this new queue but we are not
> excited about it.  This would not scale well and we don’t like the idea to
> manage transactions on our own.  Another idea we had was to use
> ReentrantLocks, but we realized that we have to release the lock after
> transaction is completed and we don’t have access to that from a stateless
> session bean.  That solution is messy in other fronts as well so again, we
> are not excited about it).
> Any help will be greatly appreciated.
> Thanks,
> Ihsan.

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message