[ 
https://issues.apache.org/activemq/browse/CAMEL-961?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=46318#action_46318
 ] 

Markus Wolf commented on CAMEL-961:
-----------------------------------

I'm new to JMS so I'm  not aware that there is no reliable way to transfer an 
error or do any error reporting at all. It seems that there are the same 
limitations like in RMI (all classes on both sides...).

First I've tried to set a fault on the exchange and realized with JMS this is 
silently dropped in camel. It would be good to issue a warning on this. Or IMHO 
to convert the fault to an out body and set a header. Then on the client side 
let the camel Exchange.isFault return true in this case.
The exception must not be there and deserializable, but it would be good to 
have at least an error message or stacktrace as string. So the client could 
realize the error and maybe handle or output it to the user.

> Reporting exceptions back to the jms requester in in-out exchange style
> -----------------------------------------------------------------------
>
>                 Key: CAMEL-961
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-961
>             Project: Apache Camel
>          Issue Type: Improvement
>          Components: camel-jms
>    Affects Versions: 1.4.0
>            Reporter: Markus Wolf
>            Assignee: Hadrian Zbarcea
>         Attachments: camel-test.tar.gz
>
>
> We tried to setup a route where some exceptions where caught by the dead 
> letter queue for retry and some exceptions where reported back to the jms 
> message requester in an in-out exchange style request.
> There are two problems with this.
> First: The dead letter queue is an all or nothing handler. There is currently 
> no way to give some excludes to the handled exceptions.
> Second: Exceptions are not serialized and returned by the jms listener on 
> reponse, but instead a camel runtime exception is logged and the jms request 
> thread gets a timeout.
> In the attached example the IOException should be returned to the 
> jms:someQueue endpoint as answer to the request. All other exceptions should 
> be handled by the dead letter queue.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to