2013-10-09 76 views
0

我試圖在我的需求中實現並行/並行處理,但在這方面我沒有得到適當的幫助。在Apache Camel組播/並行/併發處理中需要幫助

我有5個包含日誌文件的遠程目錄(可能會添加或刪除),我想每隔15分鐘將它們加載到我的本地目錄,並希望在完成ftp傳輸作業後執行Lucene索引,I想要動態地添加路由器。

由於所有這些遠程機器都是不同的端點和不同的路由。我沒有任何特別的終點來啓動所有這些。

Start 
<parallel> 
     <download remote dir from: sftp1> 
     <download remote dir from: sftp2> 
      .... 
</parallel> 
<After above task complete> 
<start Lucene indexing> 
<end> 

重複上面每隔15分鐘,

我想paralally下載的所有文件夾,請提出解決辦法,如果有人在類似的要求工作。

我想知道如何啓動/啓動這些多個路由(如多個遠程目錄),當我沒有啓動器終點時應該啓動。我想開始所有的ftp操作,並完成那些索引。感謝您花時間閱讀本文,我非常感謝您的幫助。

我試過這樣的,

from (bean:foo? Method=start).multicast().to (direct:a).to (direct:b)... 

From (direct:a) .from (sftp:xxx).to (localdir) 
from (direct:b).from (sftp:xxx).to (localdir) 

回答

0
  • 駱駝支持FTP定期通過consumer.delay財產
  • 動態添加駱駝FTP消費路線的每個服務器,如圖this unit test
  • 輪詢然後您可以根據大小或超時值彙總結果以啓動Lucene索引等。

[待辦事項 - 放在一起的例子]

+0

嗨感謝您的答覆,我看到了你給的動態添加路由代碼,什麼是我需要的是 ' <從URI =「SEDA:開始」/> <到URI = 「直接:一個」/> <到URI = 「直接:一個」/> 當我添加像上面 <從URI = 「SEDA:啓動」/> ' 上面的代碼是否會這樣轉換?因爲我想添加另一個類似於我已經添加的並行於已經啓動的進程的路由器) 。 –