[ARTEMIS 2.4] Question: Message grouping and selectors

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

[ARTEMIS 2.4] Question: Message grouping and selectors

Archibald
Dear experts,

Assume you have a JMS queue Q with two consumers A and B using message
selectors.
A listens on messages having country='US'.
B listens on messages having country='Canada'.

A producer C sents subsequently messages to Q with either country='US' or
country='Canada' as property and a message grouping property 'JMSXGroupID'
with a single fixed id.

My observation is now that consumer A gets messages with country='US', but B
doesn't get anything. Messages which country='Canada' are stuck in the
queue.

It seems that the broker tries to forward all messages to Consumer A because
of message grouping and does not respect selectors.

Is this a "Don't do it. This is not way it is intented to work." thing?

Thanks for clarifying,
A.



--
Sent from: http://activemq.2283324.n4.nabble.com/ActiveMQ-User-f2341805.html
Reply | Threaded
Open this post in threaded view
|

Re: [ARTEMIS 2.4] Question: Message grouping and selectors

MichaelAndrePearce
Hi

Could I suggest you use a JMS topic, which each of the consumers being a durable shared consumer where you use a separate consumer subscription for each filter.

The issue I think you are hitting is that with a JMS Queue the is only a one core created and with message groups per group only on consumer is selected so that if the group for the filter you have is assigned to the other consumer you hit this issue.

Sure there could be done to make this work feel free to contribute :), but I would try the above, for the use case I imagine you may have.

Cheers
Mine

Sent from my iPhone

> On 31 Jan 2018, at 07:51, Archibald <[hidden email]> wrote:
>
> Dear experts,
>
> Assume you have a JMS queue Q with two consumers A and B using message
> selectors.
> A listens on messages having country='US'.
> B listens on messages having country='Canada'.
>
> A producer C sents subsequently messages to Q with either country='US' or
> country='Canada' as property and a message grouping property 'JMSXGroupID'
> with a single fixed id.
>
> My observation is now that consumer A gets messages with country='US', but B
> doesn't get anything. Messages which country='Canada' are stuck in the
> queue.
>
> It seems that the broker tries to forward all messages to Consumer A because
> of message grouping and does not respect selectors.
>
> Is this a "Don't do it. This is not way it is intented to work." thing?
>
> Thanks for clarifying,
> A.
>
>
>
> --
> Sent from: http://activemq.2283324.n4.nabble.com/ActiveMQ-User-f2341805.html
Reply | Threaded
Open this post in threaded view
|

Re: [ARTEMIS 2.4] Question: Message grouping and selectors

Archibald
Thanks for the explanation,

my workaround is to have only one consumer without selector and delegate
accordingly in the onMessage() method.

I was just wondering whether this behaviour is done-by-design or should
potentially work.

Br, A.



--
Sent from: http://activemq.2283324.n4.nabble.com/ActiveMQ-User-f2341805.html