4

有没有办法将onCompletion上下文范围的“处理程序”添加到 Camel 上下文?Camel onCompletion 文档展示了如何使用 Spring XML DSL 来完成此操作,但我无法找到以编程方式完成此操作的方法。

4

2 回答 2

1
// define a global on completion that is invoked when the exchange is complete
onCompletion().to("log:global").to("mock:sync");
于 2013-06-12T20:02:58.360 回答
0

因为 onComplete 只能是RouteBuilder范围。创建一个真正的全局 onComplete 处理器

// Initialize an instance of the definition
OnCompletionDefinition globalOnComplete = new OnCompletionDefinition();
globalOnComplete.to("log:onComplete");

RouteBuilder定义任何路由之前的实现中,将上面的实例添加到定义中

@Override
public void configure() throws Exception {
    // Add onCompletion instance for all routes within this RouteBuilder
    this.getRouteCollection()
            .getOnCompletions()
             .add(globalOnComplete);


    // Route definition
    from("direct:input").to("log:output");        
}
于 2019-01-11T19:53:31.410 回答