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 をポーリングし続けます。1 の制限で a を追加しようとしましたorg.apache.camel.impl.LimitedPollingConsumerPollStrategyが、何も変わらないようです。

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 に答える