我的路由的autoStart设置为false:
<route id="myRoute" autoStartup="false">
我在网上可以找到关于如何启动它的所有内容是在java中启动它并说要在camelContext上调用startRoute("myRoute");
但是我找不到任何关于如何在内部调用它的内容Spring XML中的路由。
这是我的设置:
<route id="myRoute" autoStartup="false">
<from uri="ftp://remote/dir" />
<to uri="file:///local/dir" />
</route>
<route id="kickOff">
<from uri="timer://runOnce?repeatCount=1&delay=30000" />
<!-- START myRoute HERE -->
<to uri="bean:postProcessor?method=postProcess" />
</route>
我的目标是让FTP获取FTP上的所有文件,然后停止该路由。目前它将继续无限期地轮询FTP。我尝试添加org.apache.camel.impl.LimitedPollingConsumerPollStrategy
,其限制为1,但似乎没有任何改变。
答案 0 :(得分:7)
请参阅controlbus eip / component,您可以在其中启动路径:
代码应该是类似的东西:
<route id="kickOff">
<from uri="timer://runOnce?repeatCount=1&delay=30000" />
<to uri="controlbus:route?routeId=myRoute&action=start" />
<to uri="bean:postProcessor?method=postProcess" />
</route>