【问题标题】:Get Faulty Route in Camel在骆驼中找到错误的路线
【发布时间】:2021-11-04 08:17:05
【问题描述】:

用骆驼的时候,我可以用

onException(Excepction.class).process(new ExceptionListener())

对路线上的异常做出反应。在我的 ExceptionListener 中,我可以获得异常,但有没有办法找出 究竟在哪里抛出异常?

我想以编程方式识别多个错误源,因此我可以对服务 xyz 的服务调用错误、abc 的服务调用和 bean 调用做出不同的反应。我知道我可以将每个服务调用都包装在一个 try-catch-block 中,但是我必须这样做很多,而且我的路由最终会变得很粗。

【问题讨论】:

    标签: java apache-camel spring-camel


    【解决方案1】:

    文档说:

    当 Camel 错误处理程序处理诸如死信通道之类的错误时 或者使用handled=true的异常子句,然后Camel会装饰 发生错误的路由 id 的 Exchange。

    因此您可以通过以下方式获取相关路线的ID:

    String failedRouteId = exchange.getProperty(Exchange.FAILURE_ROUTE_ID, String.class);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-05
      • 2011-05-24
      • 1970-01-01
      • 1970-01-01
      • 2018-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多