ExceptionHandling & JMSReplyTo in @MessageDriven
------------------------------------------------
Key: CAMEL-533
URL: https://issues.apache.org/activemq/browse/CAMEL-533
Project: Apache Camel
Issue Type: Bug
Components: camel-core
Affects Versions: 1.3.0
Reporter: Aaron Mulder
I have an ActiveMQ Queue and a Spring Bean. The bean is set to throw an
IllegalStateException on 1/3 of all invocations. The message publisher sets
the JMSReplyTo destination, and there's a listener on the reply queue.
If I configure a route in XML <from uri="activemq:queue:Test"/><to
uri="bean:MyBean:doSomething" /> then when the exception is thrown, the bean is
invoked a second time. (I can tell as the JMS Message ID is annotated into an
argument to the doSomething method). The reply queue gets exactly one response
for every request, regardless of the number of exceptions thrown (I can tell as
the JMSCorrelationID on the response is set to the incoming JMSMessageID using
an @OutHeaders annotated argument).
If I drop the XML route and instead use
@MessageDriven(uri="activemq:queue:Test") then when the exception comes up, the
message silently disappears. There is no error emitted by Camel, and the reply
queue just never gets a message for those requests where the bean threw an
exception.
This is unexpected -- I would have thought the configured routing and
@MessageDriven routing had exactly the same behavior when the route was the
same.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.