2016-10-25 193 views
1

我在我的工作目錄中的幾個文件:加載多個文件Apache的駱駝

  • one.xml
  • two.xml
  • ...
  • thousand.xml

我想用Apache Camel File2組件處理它。例如:

<route> 
    <from uri="file://inbox?idempotent=true&amp;maxMessagesPerPoll=360" /> 
    <to uri="bean:processInbox"/> 
</route> 

是否可以在一個文件夾中同時讀取和處理多個文件?

回答

2

查看文檔http://camel.apache.org/file2.html

maxMessagesPerPoll: 「一個整數,定義最大信息收集 每個輪詢......」

maxMessagesPerPoll = 360意味着如果你有 - 例如 - 您的目錄中有400個文件,第一輪投票需要360,其餘40將在下一輪投票中進行。 但是,您的bean:processInbox端點只會獲得1個文件作爲輸入(第一次輪詢爲360次,第二次輪詢爲40次)

+0

對不起,可能是我的問題不正確。 我瞭解「maxMessagesPerPoll」選項的含義。我需要通過一些部分(360只是示例)處理這一千個文件,而不只是一個文件。 而主要問題是:如何給「bean:processInbox」多一個文件? 360,1000,5這不是很重要。 – Tatsiana

+1

然後,你必須彙總傳入文件:http://camel.apache.org/aggregate-example.html – soilworker

+0

也許這也將有所幫助:https://svn.apache.org/repos/asf/camel/trunk/ camel-core/src/test/java/org/apache/camel/processor/aggregator/AggregateGroupedExchangeTest.java – soilworker