hey guys, I'm facing an issue using @Handler. Currently I've a route that get messages from a MQ and send to a bean annotated with @Handler, this bean instantiate a new Spring prototype bean (programatically) and process the message - just to have the processing happening in a different thread and avoid conflicts among multiple queues accessing this handler bean, that´s generic.
The issue happens with the throttle configuration, that is not working properly, because the thread is released only when the Handler completes its processing. My idea is turn this processing asynchronous using Spring's @Async, but I'd like to hear from you if there´s any other "Camel" way idea to use in place? My bean is like: @Component("processor_handler_endpoint") class MyBean { @Handler method(Exchange e) { SpringFactory.createNewPrototypeOf(ProcessorClass.class).process(e); } } My route is like: <!-- MyQueue MQ Configuration --> <camel:route id="MyQueue_route" autoStartup="{{MyQueue_config.queue.enabled}}"> <camel:from ref="MyQueue_mq_endpoint" /> <camel:throttle timePeriodMillis="1000"> <camel:simple>${properties:MyQueue_config.throttle.request_per_second}</camel:simple> <camel:setHeader headerName="feed_staging_type_id"> <camel:simple>${properties:MyQueue_config.header.feed_staging_type_id.value} </camel:simple> </camel:setHeader> <camel:to ref="processor_handler_endpoint" /> </camel:throttle> </camel:route>