我的应用程序中有一条主要路线,称为MAIN_ROUTE。 我已经在子路由(称为SOME_ROUTE)中实现了多播模式,以便分别依次调用其他一些端点。
这是主要路线的代码:
onException(Exception.class)
//Do some stuff here
.end();
from(MAIN_ROUTE)
//do some stuff, no specific config
.to(SUB_ROUTE)
.end();
这是被叫的路线代码:
from(SUB_ROUTE)
.routeId(SUB_ROUTE)
.streamCaching()
.log(LoggingLevel.INFO, log, "ExchangeId : $simple{id} - Start route")
.errorHandler(noErrorHandler())
//We use a multicast because we need to call initialization route and we don't care about the exchange body of that route
.multicast()
.stopOnException()
.to(SOME_ENDPOINT_1, SOME_ENDPOINT_2)
.end()
.end();
我想捕获并管理在该顶级路由上多播引发的任何异常。
有人知道怎么做吗?
谢谢
答案 0 :(得分:0)
您在多播模式上具有“ shareUnitOfWork”属性(其默认值为false)。 基本上:如果启用,它将使您的主要Camel Exchange共享与创建的子交易所相同的工作环境;特别是多播内部发生的任何异常都将传播到父交换机。