我需要实现一个对ZipException
作出反应的处理程序,以移除损坏的gz文件,否则路由将不断地重试以解除gz的封送。
问题是,在抛出异常时,这个文件上有一个锁(在linux上,canWrite()
返回false
),还有Camel锁文件。
是否有一种优雅的Camel方式来表示/配置释放锁的onException
(获得写访问权并删除锁文件-如果有)?
目前,我的代码看起来是这样的:
onException(ZipException.class)
.handled(true)
.process(corruptedFileProcessor)
.stop();
提前谢谢。
发布于 2014-08-12 16:33:33
下面的路由从srcDir读取gzipped文件,将解压缩文件写入destDir (没有.gz扩展名),当发生ZipException时,将文件发送到errorDir。
from("file://srcDir/?delete=true")
.onException(ZipException.class)
.handled(true).useOriginalMessage()
.to("file://errorDir?autoCreate=true")
.end()
.unmarshal().gzip()
.to("file://destDir?autoCreate=true&fileName=${file:name.noext}");
https://stackoverflow.com/questions/25158763
复制相似问题