I want to implement a distributed app scenario where a message producer (sitting on server A) puts messages onto a local JMS (JMSQ_A) queue which is associated with a serice integration bus destination BUS_DEST.
There are two message consumers sitting on servers A and B (implemented as message driven beans) which listen to JMSQ_A and JMSQ_B, respectively. JMSQ_B (on server B) is associated with the same bus destination BUS_DEST.
Now, I wanted to distribute the messages based on a message selector pattern. Basically, the producer randomly sets the Recipient property either to 'internal' or 'external', and the two ActivationSpecs for both consumer mdb's are using the respective MessageSelector patterns.
Still, when I put 10 messages onto the queue/bus, these are randomly distributed to the message driven beans regardless of the value of the property.
So, my question is whether one can have two different MDB's listen to same queue (point-to-point) distributing the messages based on properties ?