如果ftp上的文件被锁定,如何抛出异常? Spring DSL

时间:2015-06-22 17:06:21

标签: ftp apache-camel camel-ftp

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

如何实现camel行为,以便在 readLockTimeoutn次尝试之后,如果文件仍然被某人锁定,Camel将不会跳过该文件,但会抛出异常。

1 个答案:

答案 0 :(得分:3)

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

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

P.S。也许最好覆盖开箱即用的策略之一FileLockExclusiveReadLockStrategy。然后,您只需要覆盖acquireExclusiveReadLock()方法,以便在超级返回false时抛出异常。