Hi Claus,

thanks for the info, even if that's not what I hoped for 
In fact it's not so easy to do this things with OracleAQ, furthermore it
leeds to distributing logic between application and database which should be
avoided IMHO.

By the way I already configured asyncConsumer=true

My JmsComponent looks like this at the moment:

  JmsComponent jmsComponent = new JmsComponent();
    JmsConfiguration jmsConfiguration = new JmsConfiguration();
    jmsConfiguration.setConnectionFactory(jmsConnectionFactory);
    jmsComponent.setConfiguration(jmsConfiguration);
    jmsComponent.setDestinationResolver(destinationResolver);
    jmsComponent.setAcceptMessagesWhileStopping(false);
    jmsComponent.setTransacted(false);
    jmsComponent.setReceiveTimeout(JmsTemplate.RECEIVE_TIMEOUT_NO_WAIT);
    jmsComponent.setMaxConcurrentConsumers(20);
    jmsComponent.setAsyncConsumer(true);
    camelContext.addComponent("jms", jmsComponent);

The weird thing is: I tried (just out of curiosity) to set
jmsComponent.setTransacted(false); as you can see.
Debugging the RedliveryErrorHandler I found that seems to work, as in the
process-Method the correct condition is matched and the following line is
execcuted:

executorService.schedule(task, data.redeliveryDelay, TimeUnit.MILLISECONDS);

Nevertheless, it seems this is not working, too. Posting 500 messages to the
queue with above said redeliverydelay I can see the configured 20 consumers
read the first 20 messages and fail in the log (as intended by our
testcase). After that: nothing. The system seems to be completely blocked. I
would have expected that in this case the failing messages would be
scheduled and the consumers would go through the next 20 messages and so on.
Have I overlooked something in the documentation?

Oh, and sorry that I forgot that the "crystal ball" module is still not
implemented in nabble : we are using Camel 2.14.1 with Spring 4.1.5
(javaconfig, not xml) and Java 8




--
View this message in context: 
http://camel.465427.n5.nabble.com/How-to-avoid-blocking-threads-in-JmsComponent-with-Oracle-AQ-tp5764487p5764556.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to