Re: Exception handling in Camel Routes.

2012-07-17 Thread Christian Müller
Could you have a look at [1]? There are many tests which make sure it works.
And if it doesn't work for you, could you please attach a test which
indicate this. With a test it's much more easier for us to check what's
going wrong - in your code or in Camel. And at the end, you will have a
solution in a shorter time.

[1]
https://svn.apache.org/repos/asf/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/onexception/

Best,
Christian

On Mon, Jul 16, 2012 at 6:20 PM, smadarapu srikanth.madar...@adp.comwrote:

 Hi Christian,

 If you read my initial post, my question is what am I missing. I had what
 you suggested but its not working.
 Christian Mueller wrote
 
  It's documented here [1].
 
  You can e.g. do:
  from(direct:start)
 
 
 .onException(MyTechnicalException.class).maximumRedeliveries(0).handled(true).end()
 
 
 .onException(MyFunctionalException.class).maximumRedeliveries(0).handled(true).to(bean:myOwnHandler).end()
.choice()
  .when().xpath(//type = 'myType').to(bean:myServiceBean)
.end()
.to(mock:result);
 
 
  [1] http://camel.apache.org/exception-clause.html
 
  Best,
  Christian
 
  On Fri, Jul 13, 2012 at 5:57 PM, smadarapu
  lt;srikanth.madarapu@gt;wrote:
 
  Can you please elaborate A route can have a N+ route scoped
  onException's.
  That is possible.
 
  In my case when I had the onException on the route, whatever the code i
  put
  for onException got executed immediately after a message arrived to that
  route (without an actual exception), and not when that exception really
  happened.
 
  --
  View this message in context:
 
 http://camel.465427.n5.nabble.com/Exception-handling-in-Camel-Routes-tp5715952p5716018.html
  Sent from the Camel - Users mailing list archive at Nabble.com.
 
 


 --
 View this message in context:
 http://camel.465427.n5.nabble.com/Exception-handling-in-Camel-Routes-tp5715952p5716089.html
 Sent from the Camel - Users mailing list archive at Nabble.com.



Re: Exception handling in Camel Routes.

2012-07-16 Thread smadarapu
Hi Christian,

If you read my initial post, my question is what am I missing. I had what
you suggested but its not working. 
Christian Mueller wrote
 
 It's documented here [1].
 
 You can e.g. do:
 from(direct:start)
 
 .onException(MyTechnicalException.class).maximumRedeliveries(0).handled(true).end()
 
 .onException(MyFunctionalException.class).maximumRedeliveries(0).handled(true).to(bean:myOwnHandler).end()
   .choice()
 .when().xpath(//type = 'myType').to(bean:myServiceBean)
   .end()
   .to(mock:result);
 
 
 [1] http://camel.apache.org/exception-clause.html
 
 Best,
 Christian
 
 On Fri, Jul 13, 2012 at 5:57 PM, smadarapu
 lt;srikanth.madarapu@gt;wrote:
 
 Can you please elaborate A route can have a N+ route scoped
 onException's.
 That is possible.

 In my case when I had the onException on the route, whatever the code i
 put
 for onException got executed immediately after a message arrived to that
 route (without an actual exception), and not when that exception really
 happened.

 --
 View this message in context:
 http://camel.465427.n5.nabble.com/Exception-handling-in-Camel-Routes-tp5715952p5716018.html
 Sent from the Camel - Users mailing list archive at Nabble.com.

 


--
View this message in context: 
http://camel.465427.n5.nabble.com/Exception-handling-in-Camel-Routes-tp5715952p5716089.html
Sent from the Camel - Users mailing list archive at Nabble.com.


Re: Exception handling in Camel Routes.

2012-07-14 Thread smadarapu
Can you please elaborate A route can have a N+ route scoped onException's.
That is possible.

In my case when I had the onException on the route, whatever the code i put
for onException got executed immediately after a message arrived to that
route (without an actual exception), and not when that exception really
happened.

--
View this message in context: 
http://camel.465427.n5.nabble.com/Exception-handling-in-Camel-Routes-tp5715952p5716018.html
Sent from the Camel - Users mailing list archive at Nabble.com.


Re: Exception handling in Camel Routes.

2012-07-14 Thread Christian Müller
It's documented here [1].

You can e.g. do:
from(direct:start)

.onException(MyTechnicalException.class).maximumRedeliveries(0).handled(true).end()

.onException(MyFunctionalException.class).maximumRedeliveries(0).handled(true).to(bean:myOwnHandler).end()
  .choice()
.when().xpath(//type = 'myType').to(bean:myServiceBean)
  .end()
  .to(mock:result);


[1] http://camel.apache.org/exception-clause.html

Best,
Christian

On Fri, Jul 13, 2012 at 5:57 PM, smadarapu srikanth.madar...@adp.comwrote:

 Can you please elaborate A route can have a N+ route scoped onException's.
 That is possible.

 In my case when I had the onException on the route, whatever the code i put
 for onException got executed immediately after a message arrived to that
 route (without an actual exception), and not when that exception really
 happened.

 --
 View this message in context:
 http://camel.465427.n5.nabble.com/Exception-handling-in-Camel-Routes-tp5715952p5716018.html
 Sent from the Camel - Users mailing list archive at Nabble.com.



Exception handling in Camel Routes.

2012-07-12 Thread smadarapu
Hi

Seems like this is a basic feature, but I cant get it working as i expected.

I have this route defined using Java DSL...

from(endPointURI).delay(5000)
 .routeId(routeId)

/.onException(Throwable.class).handled(true).process(*getInputfileExceptionHandler()*).end()/
 .process(updateHeadersForInputfileProcess(tenantId))
 .to(bean:taskCreator)

.wireTap(bean:inputFileRouteLifeCycle?method=startChangeSetProcessing( +
routeId + , ${header.task} ))
 .to(bean:taskAppenderCreator);

When a message gets to this route, the first thing getting executed is the
code in the Processor that is returned by getInputfileExceptionHandler().
Then it starts executing the other steps, and when there is an exception in
the other steps the exception handler is not getting called at all.

What am I missing here?

Thanks
Srikanth

--
View this message in context: 
http://camel.465427.n5.nabble.com/Exception-handling-in-Camel-Routes-tp5715952.html
Sent from the Camel - Users mailing list archive at Nabble.com.


Re: Exception handling in Camel Routes.

2012-07-12 Thread smadarapu
I think i figured it out, the onException set up is per RouteBuilder and
not per Route, so I removed the onException setup from route to the route
builder and it is working as i want it.

What i still don't understand is why does the Route definition supports the
onException setup, what is the purpose?

Also the per route builder setup adds a limitation that I cannot have the
definition of two routes (in the same RouteBuilder class) that need
different handling of the same exception.

Thanks
Srikanth

--
View this message in context: 
http://camel.465427.n5.nabble.com/Exception-handling-in-Camel-Routes-tp5715952p5715962.html
Sent from the Camel - Users mailing list archive at Nabble.com.


Re: Exception handling in Camel Routes.

2012-07-12 Thread Willem Jiang
You can use the try ... catch ... finally DSL[1]  if you want to check 
the exception you want per route.
The onException is a more generic way to handle the exception per 
RouteBuilder.


[1]http://camel.apache.org/try-catch-finally.html


On Fri Jul 13 00:09:02 2012, smadarapu wrote:

I think i figured it out, the onException set up is per RouteBuilder and
not per Route, so I removed the onException setup from route to the route
builder and it is working as i want it.

What i still don't understand is why does the Route definition supports the
onException setup, what is the purpose?

Also the per route builder setup adds a limitation that I cannot have the
definition of two routes (in the same RouteBuilder class) that need
different handling of the same exception.

Thanks
Srikanth

--
View this message in context: 
http://camel.465427.n5.nabble.com/Exception-handling-in-Camel-Routes-tp5715952p5715962.html
Sent from the Camel - Users mailing list archive at Nabble.com.





--
Willem
--
FuseSource
Web: http://www.fusesource.com
Blog:http://willemjiang.blogspot.com (English)
http://jnn.javaeye.com (Chinese)
Twitter: willemjiang
Weibo: willemjiang



Re: Exception handling in Camel Routes.

2012-07-12 Thread Claus Ibsen
On Thu, Jul 12, 2012 at 6:09 PM, smadarapu srikanth.madar...@adp.com wrote:
 I think i figured it out, the onException set up is per RouteBuilder and
 not per Route, so I removed the onException setup from route to the route
 builder and it is working as i want it.

 What i still don't understand is why does the Route definition supports the
 onException setup, what is the purpose?

 Also the per route builder setup adds a limitation that I cannot have the
 definition of two routes (in the same RouteBuilder class) that need
 different handling of the same exception.


A route can have a N+ route scoped onException's. That is possible.

If you put onException outside (from) then its scoped for the current
RouteBuilder class.


 Thanks
 Srikanth

 --
 View this message in context: 
 http://camel.465427.n5.nabble.com/Exception-handling-in-Camel-Routes-tp5715952p5715962.html
 Sent from the Camel - Users mailing list archive at Nabble.com.



-- 
Claus Ibsen
-
FuseSource
Email: cib...@fusesource.com
Web: http://fusesource.com
Twitter: davsclaus, fusenews
Blog: http://davsclaus.com
Author of Camel in Action: http://www.manning.com/ibsen