如何在使用Java DSL的路由中使用Apache Camel在try catch块中进行选择?
我有一种情况,我需要以下结构:
路线 - >从 - > doTry - >选择 - >在 - >简单 - >到 - >否则 - >到 - > enddoTry - > docatch - >到 - > enddocatch - > endroute
截至目前,我尝试过以下几行:
.doTry()
.choice()
.when(header("CamelFileName").contains("xxxxx"))
.to()
.otherwise().to("controlbus:route?routeId=XXXX&action=stop")
.doCatch(java.lang.Exception.class)
.log("STOPPING ROUTE")
.to("controlbus:route?routeId=XXXX&action=stop&async=true")
但我得到" 找不到符号"错误docatch()
请您建议使用"选择"用Java DSL尝试catch块?
答案 0 :(得分:1)
试试这个。这应该工作
.doTry()
.choice()
.when(header("CamelFileName").contains("xxxxx"))
.to()
.otherwise()
.to("controlbus:route?routeId=XXXX&action=stop")
.endDoTry()
.doCatch(java.lang.Exception.class)
.log("STOPPING ROUTE")
.to("controlbus:route?routeId=XXXX&action=stop&async=true")