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

JDi*_*rro 1 java spring apache-camel

我的路由的autoStart设置为false:

<route id="myRoute" autoStartup="false">
Run Code Online (Sandbox Code Playgroud)

我在网上可以找到关于如何启动它的所有内容是在java中启动它并说要调用startRoute("myRoute");camelContext ..但是我找不到任何关于如何在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>
Run Code Online (Sandbox Code Playgroud)

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

Cla*_*sen 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>
Run Code Online (Sandbox Code Playgroud)