2016-10-25 150 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