1

我已将路线的 autoStart 设置为 false:

<route id="myRoute" autoStartup="false">

我可以在网上找到的关于如何启动它的所有内容都是在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>

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

4

1 回答 1

7

查看可以启动路由的 controlbus eip / 组件:

代码应该是类似的:

<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>
于 2013-08-07T07:35:47.343 回答