Apache camel Camel-在'中的异常处理;次级路线';

Apache camel Camel-在'中的异常处理;次级路线';,apache-camel,Apache Camel,Camel显式处理两个错误处理“范围”: 全球的 每条路线 我遇到的问题是在“子路由”中抛出异常。例如,我有一条路线: from("direct:sendToWebservice"). .processRef("massageBeforeSending"). .to("http://webservice.com"). .processRef("massageResponse"); 然后,我还有两条需要向Web服务发送消息的其他路径: from(direct:from

Camel显式处理两个错误处理“范围”:

  • 全球的
  • 每条路线
我遇到的问题是在“子路由”中抛出异常。例如,我有一条路线:

from("direct:sendToWebservice").
    .processRef("massageBeforeSending").
    .to("http://webservice.com").
    .processRef("massageResponse");
然后,我还有两条需要向Web服务发送消息的其他路径:

from(direct:fromSystemA").
    .errorHandler(deadLetterChannel("direct:TellSystemA")).
    .to("direct:sendToWebservice");

from(direct:fromSystemB").
    .errorHandler(deadLetterChannel("direct:TellSystemB")).
    .to("direct:sendToWebservice");
我希望发生的是,如果webservice路由抛出异常,它将传播到调用方,并通知系统A或系统B。我看不到实现这一目标的方法

我觉得这将是一个常见的用例——以前有人碰到过它吗

再次感谢您抽出时间


Roy从同事那里得到了答案:子例程需要禁用其错误处理:

from("direct:sendToWebservice").
    .errorHandler(noErrorHandler())     // disables error handling for this route
    .processRef("massageBeforeSending").
    .to("http://webservice.com").
    .processRef("massageResponse");
这将强制Camel将错误传播到调用路由