You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "James Huang (JIRA)" <ji...@apache.org> on 2018/10/12 06:05:00 UTC

[jira] [Created] (CAMEL-12876) Support transactional SimpleMessageListenerContainer

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)