Hello.
Camel is able to process messages from one queue concurrently. For final
application it is a good feature: it decreases time to process batch of
messages.
At the stage of debug it is may be a little discomfort: order of output
messages may differ from order of input messages. To prevent it, the
route-builder URI of endpoint may be expanded with "?maxConcurrentConsumers"
option.
The problem appears when I want to reconfigure the existing route. I can
modify the endpoint
for (Endpoint endpoint : camelContext.getEndpoints()) {
((JmsEndpoint) endpoint).setMaxConcurrentConsumers(1);
}
but this will not affect the existing consumers.
We can look at listener container
((JmsConsumer)
(context.getRoutes().get(0).getConsumer()))
.getListenerContainer()
It have a default value of maxConcurrentConsumer=20, it is not changed.
Is it possible to reconfigure routes at runtime to change the value of
maxConcurrentConsumers?
Thank you for your attention.