camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "raulvk.soa" <raulvk....@gmail.com>
Subject RE: Exception Handling
Date Thu, 09 Oct 2008 10:00:02 GMT

Hi,

Any further insight on this?

Cheers!


raulvk.soa wrote:
> 
> Hi Claus,
> 
> Thanks for your reply.
> 
> With respect to 1), how is an Exchange marked as an Exception? What
> exactly indicates that an Exchange has incurred in an Exception? Some
> property, some header, etc.?
> 
> We need to get this development out soon, so we can't afford to wait until
> v1.5. However, what comes to mind is that as a temporary solution we might
> be able to create a Processor that deletes the properties/headers/whatever
> that indicates that a message is an Exception, so that it is not processed
> again by the Exception Handlers on the first route?
> 
> With respect to 2), basically I was just testing how the presence of an
> errorHandler influences the exception handlers. The errorHandler is
> defined at the top of my route, and the exception handlers are stated just
> before the routing logic that can throw the exception. Essentially:
> 
> errorHandler(noErrorHandler());
> 
> from("xx").pipeline("a", "b", "c");
> 
> exception(ValidationException.class)....
> 
> from("direct:a").to("validator:...");
> 
> from("direct:b")....
> 
> from("direct:c")....
> 
> What I would expect this code to do is handle the ValidationException as
> specified by the exception clause, whereas all other possible Exceptions
> should do nothing (noErrorHandler()).
> 
> Instead, what happens is that the exception() clause is completely ignored
> and even if a ValidationException is thrown, nothing happens.
> 
> Cheers!
> 
> 
> 
> Claus Ibsen wrote:
>> 
>> Hi Raul
>> 
>> Nice description of the problem. 
>> 
>> 1)
>> I think you are hitting the problem that we have tracked in JIRA as:
>> http://issues.apache.org/activemq/browse/CAMEL-960
>> 
>> As this is the 2nd or 3rd end-user hitting this, I think it's a must to
>> get in Camel 1.5. Hadrian is working on it.
>> 
>> If possible please add a comment on the ticket and point to this forum
>> thread using eg. a link from nabble. Then Hadrian (the engineer) working
>> on this will see this one as well.
>> 
>> 
>> 2)
>> About the noErrorHandler. I think it basically does nothing. What is your
>> expections here? Could you show some routing code with an noErrorHandler
>> where you expect it to do something different that now?
>> 
>> 
>> 
>> Med venlig hilsen
>>  
>> Claus Ibsen
>> ......................................
>> Silverbullet
>> Skovsgårdsvænget 21
>> 8362 Hørning
>> Tlf. +45 2962 7576
>> Web: www.silverbullet.dk
>> -----Original Message-----
>> From: raulvk.soa [mailto:raulvk.soa@gmail.com] 
>> Sent: 7. oktober 2008 19:51
>> To: camel-user@activemq.apache.org
>> Subject: Exception Handling
>> 
>> 
>> Hi everyone,
>> 
>> I have an integration flow composed of two camel routes.
>> 
>> The first route validates the incoming message against an XML schema,
>> transforms it and sends it forth to the second route.
>> 
>> The second route validates the message against an XML Schema and if the
>> result is a pass, sends the message over to another endpoint. However, if
>> the validation fails, there is an exception(ValidationException.class)...
>> instruction that captures the exception and does the following
>> processing:
>> logs it and creates an error reply message, which is sent back to the
>> first
>> route.
>> 
>> However, what happens is that when the first route receives this reply
>> message, it triggers its own Exception handling mechanism (another
>> exception(ValidationException.class)... instruction), handling the
>> message
>> again. Its like the Exception is being propagated back!
>> 
>> This behaviour is not what I expected, since the Exception was already
>> dealt
>> with accordingly by the route that was responsible for it when the error
>> was
>> raised..... So my question is, how can I remove the Exception information
>> from the Exchange before it is sent back to route 1, so that the reply is
>> not interpreted as an Exception again?
>> 
>> Also, another odd behaviour that I am experiencing is that if I set the
>> following at the top of my route: errorHandler(noErrorHandler());   none
>> of
>> the configured exception(...) statements are triggered in case of an
>> exception. Why is this? Are both statements exclusive?
>> 
>> Many thanks!!
>> 
>> Raul.
>> 
>> 
>> 
>> -- 
>> View this message in context:
>> http://www.nabble.com/Exception-Handling-tp19863662s22882p19863662.html
>> Sent from the Camel - Users mailing list archive at Nabble.com.
>> 
>> 
>> 
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/Exception-Handling-tp19863662s22882p19895784.html
Sent from the Camel - Users mailing list archive at Nabble.com.


Mime
View raw message