基于特定方法的骆驼重试逻辑

时间:2014-12-24 09:56:06

标签: apache-camel

camel是否根据处理器上的特定部分/方法重试功能?

我在应用程序中实现了重试逻辑,并重试整个处理器。

考虑下图:A,B,C,D节点(处理器)

从--- A --- ---乙Ç--- d

我在C中遇到异常,调用返回B然后重新执行C。

我想在C上重试特定的方法。

1 个答案:

答案 0 :(得分:0)

我在这里有点困惑。 A,B,C,D是端点还是其他什么?一般的想法是当C产生错误时在消息中设置标题。然后,当标题X等于错误时,您可以选择将其路由到端点B,否则将其路由到端点D.

from("endpoint A")
            .to("endpoint B")
            .to("endpoint C")
            .process(new CProcessor())
            .choice()
            .when(header("Cerror").isEqualTo("true")).to("endpoint B")
            .otherwise()
            .to("endpoint D")
            .end();