James Huang created CAMEL-12876:
-----------------------------------

             Summary: Support transactional SimpleMessageListenerContainer
                 Key: CAMEL-12876
                 URL: https://issues.apache.org/jira/browse/CAMEL-12876
             Project: Camel
          Issue Type: Improvement
          Components: came-jms
    Affects Versions: 2.22.1
            Reporter: James Huang


I wish to use SimpleMessageListenerContainer in transacted mode with multiple 
consumers. 

But org.apache.camel.component.jms.JmsEndpoint line 224 is giving the 
listenerContainer a custom TaskExecutor, causing SimpleMessageListenerContainer 
to fail if sessionTransacted=true and concurrentConsumers>1. The custom 
taskExecutor causes JMS session commit to be called by the wrong thread 
randomly and fails.

Can we update JmsEndpoint to not set taskExecutor just for 
SimpleMessageListenerContainer? I've tested this by overriding the lib and it 
works well with sessionTransacted=true and concurrentConsumers>1. 
SimpleMessageListenerContainer has many benefits like true event driven over 
the default polling listenerContainer. Will be great to get it properly 
supported.
 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to