1
我在同一个文件位置有两个文件.....我希望两个文件同时被拾取,这样我就可以同时在我的处理器中获得两个文件...我们如何在Apache Camel的单个路由中选择2个文件,并同时处理它们?
我使用Apache Camel进行路由。
我在同一个文件位置有两个文件.....我希望两个文件同时被拾取,这样我就可以同时在我的处理器中获得两个文件...我们如何在Apache Camel的单个路由中选择2个文件,并同时处理它们?
我使用Apache Camel进行路由。
您的问题的解决方案取决于很多情况。
如果您可以预测文件名,您可以很容易地使用pollEnrich和aggregation strategy。
的聚合策略为您提供了这样的
Exchange aggregate(Exchange oldExchange,Exchange newExchange)
的方法,这样你就可以决定如何处理这两个文件。 oldExchange
是原始交易所,newExchange
将是来自丰富URI的交换。
伪代码示例:
from("file:inbox?fileName=invoices.csv")
.pollEnrich("file:inbox2?fileName=customers.xml" strategyRef="myAggregationStrategy")
.bean(someTransformerBean)
.to("file:outbox?fileName=report.xml");