有没有办法在不抛出异常的情况下中止路由单的处理?
Is there a way to abort the processing of a Routing Slip without throwing an Exception?
我有一个包含几个步骤的路由单。我希望能够包括执行一些验证的步骤,这些验证可以在需要时使路由单短路。
我有:
from("direct:Start")
.setHeader(header("RoutingSlip", config::getRoutingSlip)
.doTry()
.routingSlip(header("RoutingSlip"))
.doEndTry()
.doCatch(ValidationException.class)
.log("Validation failed!")
.end()
这是最好的方法吗?
记录堆栈跟踪的事实让我怀疑这是否是正确的方法。
谢谢。
您能否尝试通过设置来替换引发异常的代码
属性 Exchange.ROUTE_STOP 到 true
IE。
exchange.setProperty(Exchange.ROUTE_STOP, Boolean.TRUE);
我有一个包含几个步骤的路由单。我希望能够包括执行一些验证的步骤,这些验证可以在需要时使路由单短路。
我有:
from("direct:Start")
.setHeader(header("RoutingSlip", config::getRoutingSlip)
.doTry()
.routingSlip(header("RoutingSlip"))
.doEndTry()
.doCatch(ValidationException.class)
.log("Validation failed!")
.end()
这是最好的方法吗?
记录堆栈跟踪的事实让我怀疑这是否是正确的方法。
谢谢。
您能否尝试通过设置来替换引发异常的代码
属性 Exchange.ROUTE_STOP 到 true
IE。
exchange.setProperty(Exchange.ROUTE_STOP, Boolean.TRUE);