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)