骆驼 - 停止处理异常路线
Camel - Stop processing a route on exception
我有一个处理 hl7 消息的骆驼路线。处理成功后我想把它传递给另一个端点b做进一步的处理。
但是如果在 processHL7 中发生任何异常,我有一个 catch 块来做一些处理。当我进入 doCatch 并遇到结束时,我想停止处理,但这并没有发生。无论发生什么情况,流量都会流向端点 b。当我进入 doCatch 块时如何停止?
from("direct:a")
.doTry()
.to("bean:processHL7?method=process")
.doCatch(HL7Exception.class)
.to("direct:ErrorACK")
.transform(ack())
.end()
.transform(ack())
.to("direct:b");
这应该有效。
from("direct:a")
.doTry()
.to("bean:processHL7?method=process")
.doCatch(HL7Exception.class)
.to("direct:ErrorACK")
.transform(ack())
.stop()
.end()
.transform(ack())
.to("direct:b");
您可以使用 stop()
停止路由的进一步处理。
我有一个处理 hl7 消息的骆驼路线。处理成功后我想把它传递给另一个端点b做进一步的处理。
但是如果在 processHL7 中发生任何异常,我有一个 catch 块来做一些处理。当我进入 doCatch 并遇到结束时,我想停止处理,但这并没有发生。无论发生什么情况,流量都会流向端点 b。当我进入 doCatch 块时如何停止?
from("direct:a")
.doTry()
.to("bean:processHL7?method=process")
.doCatch(HL7Exception.class)
.to("direct:ErrorACK")
.transform(ack())
.end()
.transform(ack())
.to("direct:b");
这应该有效。
from("direct:a")
.doTry()
.to("bean:processHL7?method=process")
.doCatch(HL7Exception.class)
.to("direct:ErrorACK")
.transform(ack())
.stop()
.end()
.transform(ack())
.to("direct:b");
您可以使用 stop()
停止路由的进一步处理。