退出 Apache Camel 循环
Exit from Apache Camel loop
我想在某些情况下退出 Camel Loop。我正在使用 Camel 2.15
.loop(simple("${exchangeProperty.loopCount}"))
.to("bean:xxx?method=exitFromLoop")
.end()
我尝试在 exitFromLoop 方法中更改 CamelLoopIndex 和 CamelLoopSize,但对我不起作用。
是否有其他替代方法,例如使用 choice/when?
如果您使用 Camel 2.17 及更高版本,则会出现循环 while 模式。
查看文档:http://camel.apache.org/loop
然后循环像 while 循环一样运行,直到谓词的计算结果为 false/null 或零。
作为谓词,它不会自动递减计数器,所以它就像 java 中的 while 循环。
直到 camel 2.16(以及 2.17),您可以在 内的 块中使用 语句,并将循环计数器设置为一些任意上限。
或者您的循环可能包含一个 java 处理器,它可以有条件地停止路由:exchange.setProperty(Exchange.ROUTE_STOP, Boolean.TRUE);
我想在某些情况下退出 Camel Loop。我正在使用 Camel 2.15
.loop(simple("${exchangeProperty.loopCount}"))
.to("bean:xxx?method=exitFromLoop")
.end()
我尝试在 exitFromLoop 方法中更改 CamelLoopIndex 和 CamelLoopSize,但对我不起作用。
是否有其他替代方法,例如使用 choice/when?
如果您使用 Camel 2.17 及更高版本,则会出现循环 while 模式。
查看文档:http://camel.apache.org/loop
然后循环像 while 循环一样运行,直到谓词的计算结果为 false/null 或零。
作为谓词,它不会自动递减计数器,所以它就像 java 中的 while 循环。
直到 camel 2.16(以及 2.17),您可以在
或者您的循环可能包含一个 java 处理器,它可以有条件地停止路由:exchange.setProperty(Exchange.ROUTE_STOP, Boolean.TRUE);