我有看起來像下面Apache的駱駝pollEnrich不復制所有
from("activemq:queue:upload")
.pollEnrich().simple("file:basePath/${header.ID}?noop=true&recursive=true")
.aggregationStrategy(new ExampleAggregationStrategy())
.timeout(2000)
.toD("ftp:${header.destinationURI}")
在我的文件系統file:basePath/${header.ID}
包含多個文件夾駱駝路徑的文件。當執行上述路由時,只有第一個文件夾中的第一個文件將被複制到ftp服務器。剩餘文件夾(與子文件夾)不會被複制到FTP服務器!
而且ExampleAggregationStrategy()
類的aggregate()
方法看起來像下面
@Override
public Exchange aggregate(Exchange oldExchange, Exchange newExchange) {
String destinationURI = "populatedURI";
oldExchange.setOut(newExchange.getIn());
oldExchange.getOut().setHeader("ID", oldExchange.getIn().getHeader("ID"));
oldExchange.getOut().setHeader("destinationURI", destinationURI);
oldExchange.setFromEndpoint(newExchange.getFromEndpoint());
oldExchange.setFromRouteId(newExchange.getFromRouteId());
return oldExchange;
}
我試過設置properties and onCompletions
爲好。仍然沒有運氣! 我在aggregationStrategy
裏丟失了什麼?
如何使用pollEnrich
成功複製所有文件和文件夾?
謝謝:)有沒有什麼辦法可以處理上面的場景,我想爲隊列中的每條消息複製所有文件(包括文件夾)? –
我的需求被張貼在這裏[動態的apache-camel-build-both-to-and-to-endpoints](http://stackoverflow.com/questions/37839725/apache-camel-build-both-from-and- - 端點 - 動態) –
根據隊列中的消息預先知道還是動態的文件夾? –