[ https://issues.apache.org/jira/browse/CAMEL-4616?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13625671#comment-13625671 ]
Praveen Billampati commented on CAMEL-4616: ------------------------------------------- We use JMS provider. We too need this to be fixed. > register exception listener with camel-jms producer endpoint > ------------------------------------------------------------ > > Key: CAMEL-4616 > URL: https://issues.apache.org/jira/browse/CAMEL-4616 > Project: Camel > Issue Type: Improvement > Components: camel-jms > Affects Versions: 2.8.2 > Environment: camel-jms producer sending to ActiveMQ > Reporter: Torsten Mielke > Labels: transactions > > camel-jms should register an exception listener automatically when used as a > message producer. That way it can deal with any exception that may occur on > async sends. > To be more precise: > If a camel-jms producer sends a msg within a transaction to an ActiveMQ > broker, then this message send happens async by default (kind of an > optimization done by ActiveMQ). If anything goes wrong with the send (e.g. > broker raises a javax.jms.ResourceAllocationException because its full or > there is a transport problem) then we currently don't catch this exception as > there is no async exception listener registered. What's worse the TX will be > committed thereafter although the send has actually failed. > As a result the msg is lost. > For ActiveMQ there is a simple solution to this problem, either > - set jms.useAsyncSend=false on the broker URL, or > - call setAlwaysSyncSend(true) on the ActiveMQConnectionFactory > However many users won't be aware of this solution and will simply assume > that using a transaction is enough to guard against message loss. > Also the same problem can potentially arise with other JMS providers if they > also use async send within a transaction. > Camel should ensure that the out of the box behavior prevents from loosing > msgs in transactional sends. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira