如何通过Spring XML手动启动Camel Route?

时间:2013-08-06 14:43:34

标签: java spring apache-camel

我的路由的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&amp;delay=30000" />
    <!-- START myRoute HERE -->
    <to uri="bean:postProcessor?method=postProcess" />
</route>

我的目标是让FTP获取FTP上的所有文件,然后停止该路由。目前它将继续无限期地轮询FTP。我尝试添加org.apache.camel.impl.LimitedPollingConsumerPollStrategy,其限制为1,但似乎没有任何改变。

1 个答案:

答案 0 :(得分:7)

请参阅controlbus eip / component,您可以在其中启动路径:

代码应该是类似的东西:

<route id="kickOff">
    <from uri="timer://runOnce?repeatCount=1&amp;delay=30000" />
    <to uri="controlbus:route?routeId=myRoute&action=start" />
    <to uri="bean:postProcessor?method=postProcess" />
</route>