【问题标题】:Camel - Stop processing a route on exception骆驼 - 停止处理异常路由
【发布时间】:2018-08-15 10:41:03
【问题描述】:

我有一个处理 hl7 消息的骆驼路线。处理成功后,我想将其传递给另一个端点 b 进行进一步处理。

但是如果 processHL7 中发生任何异常,我有一个 catch 块来进行一些处理。当我进入 doCatch 并遇到 end 时,我想停止处理,但这没有发生。无论发生什么,流程都将流向端点 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");

【问题讨论】:

    标签: apache-camel integration hl7


    【解决方案1】:

    这应该可行。

    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() 阻止路由进一步处理。

    【讨论】:

      猜你喜欢
      • 2020-10-21
      • 2023-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-13
      • 2012-09-09
      • 2013-08-13
      相关资源
      最近更新 更多