繁体   English   中英

如何捕获/处理骆驼中所有未捕获的异常

[英]How to catch/Handle all uncaught exceptions in Camel

我目前在我的路线中使用doTry / doCatch块,因此无法使用全局onException块。

但是,如果骆驼路线中断(由于错误的代码或意外的/未预料的情况),我想执行一些业务逻辑。 希望这永远不会发生,但是我仍然想处理更坏的情况。

我也不能在全局onException块中具有java.lang.Exception,我也不想在每条路由上都添加附加捕获。

在抛出未捕获的异常和中断路由之前,Camel是否有特定的调用方法。

我看到以下未捕获异常的日志:

2015-04-20 15:11:35,279 [Camel (fulfillmentOrderProcessor) thread #5 - seda://FulfillmentSedaQueue] WARN  o.a.c.component.aws.sqs.SqsConsumer [, ID-ip-10-180-252-213-54360-1429566855015-0-144]: Exchange failed, so rolling back message status: Exchange[Message: {... }]

java.lang.IllegalArgumentException: Unable to parse string argument null

我看着UnitOfWork.afterprocess。 但这无济于事,因为即使我以骆驼路线处理过交流,交流也会有例外。

默认情况下,Camel会将异常传播回调用者,因此无论客户端代码调用seda://FulfillmentSedaQueue路由,您都可以捕获该异常。

否则,服务器端的选项(如您所述)是使用全局onException子句或路由特定的doTry / doCatch语句

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM