0

ファイルが見つからないときに camel-ftp コンポーネントを終了させることができないようです。

を追加しLimitedPollingConsumerPollStrategyました。制限は次の1とおりです。

<bean id="noPoll" class="org.apache.camel.impl.LimitedPollingConsumerPollStrategy">
    <property name="limit" value="1"/>
</bean>

そして、それを使用するように URI を構成しました。

ftp://user@host.ftp/?password=pass&stepwise=false&binary=true&delete=false&noop=true&pollStrategy=#noPoll

ファイルが見つからない場合でも、ファイルを探してハングするだけなので&sendEmptyMessageWhenIdle=true、URIに追加しました。

ルートに条件を追加して、メッセージが null 本文を通過したときにログに出力し、それらのメッセージの洪水を見たので、ポーリング コンシューマーの制限が機能していないようです。に変更してみまし&consumer.pollStrategy=#noPollたが、同じように動作しました。

4

2 に答える 2

1

は、消費者がX 回連続して失敗しLimitedPollingConsumerPollStrategyた場合に制限するためのものです。これは、そのドキュメントで説明されていることでもあります。1回の投票後に停止するためのものではありません。

commit メソッドがパラメーター polledMessages = 0 で呼び出されたときに停止する独自のポーリング戦略を実装できます。その後、ポーリングされたファイルがないことがわかります。

于 2013-08-14T13:00:46.560 に答える