2016-04-25 62 views
0

我有一個要求,在某個時間點,我需要連接到多個ftp/sftp端點(比如100 ftp端點)以下載文件並對其進行處理。限制FTP使用apache駱駝輪詢消費者

我有一個像下面的路線。該塞達它們移動到相應的文件夾

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

現在,如果我開始所有的FTP端點在同一時間,這是導致JVM內存問題的隊列進一步處理的消息。我怎樣才能限制ftp端點的啓動?我可以在ftp之前使用SEDA來節流(如果可以,我該如何使用它)?我可以使用其他EIP或想法來遏制輪詢FTP客戶端的觸發嗎?

回答

1

我曾在過去的這個問題很好解決它以下列方式使用的cron:

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

您可以設置每個FTP消費者拉在不同的時間(一間分鐘的區別說的)。

如果你決定走這條路,你可以使用下面的網站,輕鬆構建您的crons:

http://www.cronmaker.com/

希望這有助於。

R.