camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Brad Johnson <>
Subject Re: Throttling per activemq consumer
Date Fri, 03 Jun 2016 15:44:42 GMT
Just speaking to the throttler and not the JMS group, you've set this at 1
message every 30 seconds.  Somehow I suspect that isn't what you want.
Are all the messages you are consuming on the activemq:queue:test or is
that already split/filttered based on the JMSXGroupID?  If that queue is
the one that has all your messages on it with a variety of headers then you
will only ever get one message very 30 seconds regardless of what you've
set downstream.

But that's hard to say when the posted code is just a single snippet.

On Fri, Jun 3, 2016 at 5:11 AM, hasikada <> wrote:

> Let's say have I have multiple activemq consumers
> (jms.concurrentConsumers=20), I use message groups, so incomming messages
> has JMSXGroupID header set and I would like to enable throttling per
> message
> group in Camel.
>      from("activemq:queue:test")
>           .throttle(1).timePeriodMillis(30000L)
>           .to("mock:result");
> I would expect that first activemq consumer throttles incomming messages
> from assigned message group, while second consumer throttles messages from
> another group in parallel.
> But the first throttling consumer blocks second one. The second consumer is
> not able to process a message until the throttling time period 30sec of
> first one expires.
> How to proceed the message groups in parallel and enable delay between the
> messages within same message group?
> Thank you
> Adam
> --
> View this message in context:
> Sent from the Camel - Users mailing list archive at

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