【发布时间】:2014-06-02 17:09:04
【问题描述】:
我成功地使用ZipSplitter() 处理压缩文件中的文件。如果可能,我想使用并行处理,但调用 parallelProcessing() 会导致流过早关闭。当流被DefaultStreamCachingStrategy 缓存时,这会导致IOException。
我注意到当启用并行处理时,ZipIterator#checkNullAnswer(Message) 被调用,这会关闭ZipInputStream。奇怪的是,如果我在调试器中徘徊在这个方法上,一切都是花花公子,这表明迭代器在处理完成之前就被关闭了。这是一个错误还是我搞砸了什么?
表现出这种行为的我的路线的简化版本是:
from("file:myDirectory").
split(new ZipSplitter()).streaming().parallelProcessing().
log("Validating filename ${file:name}").
end();
这是使用 Camel 2.13.1。
【问题讨论】:
标签: java apache-camel