处理与交换无关的特定异常

时间:2014-07-08 11:30:47

标签: exception-handling apache-camel

我为专有服务创建了一个自定义组件。如果此服务停止,我会通过调用回调函数来注意到。我现在抛出一个自定义异常。

向生产者/消费者发送交换将不会产生错误或异常(一切似乎都很好)。

因此,如果抛出我的自定义异常,我需要实施紧急停止。我在骆驼中读了一些关于异常处理的内容。我想我需要一个上下文范围的onException(MyException.class).???,但那么呢?

这是否适用于与交换无关的异常?如果这是如何处理它。我希望在这种情况下停止某些路线。

2 个答案:

答案 0 :(得分:0)

在这里你可以找到停止路线的路线:http://camel.apache.org/how-can-i-stop-a-route-from-a-route.html。 如果您在路线中拨打专有服务,则确实有交换btw。

亲切的问候, soilworker

答案 1 :(得分:0)

我创建了一个小解决方法:我设置了一个布尔值,我调用了回调方法。在每次调用进程时,我都检查这个布尔值,如果是,则抛出异常。 有了这个,异常就在普通的camel异常处理中,并且可以使用onException。