APACHE Camel:异常处理器后中止路由

时间:2020-07-01 22:08:51

标签: apache-camel

.onException(Exception.class)
.handled(true)
.process(processorHandler)
.to("direct:myRoute")
.end()

处理方法之后什么也没执行。有人可以帮忙吗?我要在处理器中处理完异常后执行myRoute

2 个答案:

答案 0 :(得分:0)

尝试暂时禁用步骤.process(processorHandler)。只是为了检查消息是否到达直接路由。

如果它像这样工作,则可能可以使用其他方式来完成处理器的工作。例如setBody

关键是onException中使用的处理器具有一些特殊的语义。如果我没记错的话,总是会处理错误,并且路由会在处理器处停止。但我对此不确定。试试看。

答案 1 :(得分:0)

.onException(Exception.class)用于处理在主路由中发生的异常。在onException块内发生的任何异常将不被处理。如果要处理异常,则将.process(processorHandler)步骤移至.to(“ direct:myRoute”)并添加onException块来处理它。