2016-04-25 16 views
0

ファイルをダウンロードして処理するために、ある時点で複数のftp/sftpエンドポイント(たとえば100 ftpエンドポイント)に接続する必要があります。FTPを調整するapache camelを使用してコンシューマをポーリングする

私は以下のようなルートを持っています。セダは、今、私はJVMのメモリの問題が生じていると同時に、すべてのFTPエンドポイントを、始めていた場合、適切なフォルダに

from(ftp://[email protected]/foldername?password=XXXXX&include=.*).to("seda:"+routeId) 

それらを移動することにより、更なるプロセスにメッセージをキューに入れます。 ftpエンドポイントの開始をどのように調整できますか? ftpの前にSEDAを使って絞り込むことができますか?ポーリングのFTPコンシューマのトリガを抑制するために使用できる他のEIPやアイデア

答えて

1

throttler dslを調べると、メッセージの取得を抑制することができます。あなたはsimplescheduleroutepolicyに見ることができ、起動を制御するための http://camel.apache.org/throttler.html

.. http://camel.apache.org/simplescheduledroutepolicy.html

これは、ルートの有効化と無効化を処理します。私はそれを自分で使ったわけではありませんが、ルートの開始と停止を制御する遅延を追加することができるようです。私は過去にこの問題を抱えている

1

は、以下の方法でのcronを使用してそれを解く:

from("ftp://[email protected]/foldername?password=XXXXX&include=.*&scheduler=quartz2&scheduler.cron=0/2+*+*+*+*+?") 

あなたは(1分差で言う)異なる時間に引き出すために、すべてのFTPの消費者を設定することができます。

あなたはこの道を行くことに決めた場合は、あなたが簡単にあなたのcronsを構築するために、次のWebサイトを使用することができますが:

http://www.cronmaker.com/

は、この情報がお役に立てば幸いです。

R.

関連する問題