Hi Jose,

I'm using the prioritizedMessages=true because of the JMS grouping feature. 

In the application I'm running, one of the most important features is that
messages with the same group ID are not processed in parallel, thus the
message grouping ensuring the same consumer always gets the message with the
same ID, so that they are processed sequentially.

The most recent requirement was to additionally separate processing of
messages with the low and high priority, but by still keeping the message
grouping rule defined above. What I meant to achieve that way was for
different consumers to process low and high priority message, with the same
group ID, but while keeping the sequential message processing order.

Any other ideas on how to achieve that?

One other idea of mine was to define a route which would say something like
this:

                from("jms:queue:test?concurrentConsumers=1")
                    .choice()
                    .when(header("JMSPriority").isGreaterThanOrEqualTo(4))
                        .to("jms:queue:normalPriority")
                    .otherwise()
                        .to("jms:queue:lowPriority")
                    .endChoice();

However, in that case, the messages consumed from the normalPriority and
lowPriority queues might be processed in parallel, which I'm trying to
avoid.

Regards,
Frankie


Jose María Zaragoza wrote
> A question about your code:
> 
> why do you configure prioritizedMessages= true on your broker and also
> use consumers with a selector parameter ?
> I guess that to use consumers with a selector parameter is for
> avoiding to set prioritizedMessages= true
> 
> With prioritizedMessages= true , the broker try to deliver the
> messages in order by priority
> 
> It's only curiosity
> 
> Regards





--
View this message in context: 
http://activemq.2283324.n4.nabble.com/Selective-consuming-of-priority-messages-with-message-groups-tp4704813p4704881.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Reply via email to