onException.handled(false)-此方案有用例吗?

时间:2019-06-20 16:19:22

标签: apache-camel

在Apache Camel中,几乎在所有用例中,我们都将使用onException(SomeException.class).handled(true).

是否存在需要使用onException(SomeException.class).handled(false)的用例?

如果我们使用onException(false),则即使您可以在处理代码中更改主体,异常也会返回给调用者(原始路由传播将停止)。但是,如果您使用handled(false),那么我们可以检索Exchange对象以在调用方处获取原始消息吗?您只会得到例外,对吧?

1 个答案:

答案 0 :(得分:1)

请检查http://camel.465427.n5.nabble.com/What-s-the-Difference-between-handled-false-and-continued-true-and-more-td4302302.html

如您所见,克劳斯·易卜生提供了以下规则:

  • handle(true) =已处理该异常并将其从交换+中断路由中删除
  • handled(false) =未处理该异常,因此它将作为异常存储在交换+分支路由中
  • 继续(true) =已处理(true)+继续路由