1

我的路线是从端点轮询 ftp://localhost:21/folder?username=user&password=password&delay=15s&move=processed&moveFailed=error&sendEmptyMessageWhenIdle=true&passiveMode=true. 如果我只是添加readLock=rename,Camel 将忽略麻烦的文件并将其保留在文件夹中。

如何实现骆驼行为,以便如果文件在或尝试 仍被某人锁定,骆驼不会跳过文件,而是抛出异常。readLockTimeoutn

4

1 回答 1

3

我想这可以通过实现自定义 ReadLockStrategy 来建立(接口是GenericFileExclusiveReadLockStrategy

您可以使用选项设置自定义策略exclusiveReadLockStrategy(请参阅File2组件选项)。

PS 也许最好覆盖开箱即用的策略之一,FileLockExclusiveReadLockStrategy例如。然后,您所需要做的就是重写该acquireExclusiveReadLock()方法以在其 super 返回 false 时引发异常。

于 2015-06-22T19:31:08.970 回答