Have a basic question about setting up AMQ and Camel context-based routing.
We added a Camel's content based routing for ActiveMQ message systems,
but the system stops throttling when the pending messages bellow a
specific threshold ( approx ~600)

the CBR details

            
from("activemq:queue:Queue_In?concurrentConsumers=50&exchangePattern=InOut")
              .id("UniqueRouteId")
              
.to("activemq:queue:Queue_Out?replyTo=Ack_Queue&concurrentConsumers=50&replyToType=Shared&requestTimeout=400000");


Another service is exposed to change the in-flight message count,
which will stop and remove the route using the unique id and re-create
the route with new value, which is working fine.

When we send ~10K messages, all messages are routed properly ( only
the specified ( in concurrentConsumers) message will be delivered to
out queue at any given time), but when the pending message is below (
appox ~600), it will send only one message at a time even though the
concurrent message count is greater than one.  We tried to reduce the
memory limit (memoryUsage) in AMQ, but still if the pending message
goes below some threshold ( it reduced to ~50), it starts sending only
one message at time.

We also tried to turn off the producer control flow setting in
ActiveMQ (<policyEntry queue=">" producerFlowControl="false"
memoryLimit="1mb">), but still it stops throttling if the pending
message is bellow same threshold

We tried to add routing policy with higher max in-flight message count
( e.g:- 50000) and resume percentage of max value ( e.g:- 50), it
seems to work fine for some period of time, but again it starts
sending one message at a time later.

We are unable to find the relationship with ActiveMQ memory
parameters, producer flow controller and max in-flight message count
settings in Camel.

Has anybody seen anything similar? I wouldn't be surprised if we are
doing something stupid, but we haven't been able to find documentation
on the relationship of all of these tunable parameters.

It would be really great if you provide some ideas or documentation
for these settings.

thanks (and happy new year!)

Reply via email to