如果 ftp 上的文件被锁定,如何抛出异常? Spring DSL
How to throw an Exception if file on ftp is locked? Spring DSL
我的路由正在从端点进行轮询
ftp://localhost:21/folder?username=user&password=password&delay=15s&move=processed&moveFailed=error&sendEmptyMessageWhenIdle=true&passiveMode=true.
如果我只添加 readLock=rename
,Camel 将忽略麻烦的文件并将其留在文件夹中。
如何实现骆驼行为,以便如果文件在 readLockTimeout
或 n
次尝试后仍被某人锁定,Camel 将不会跳过该文件,但抛出异常。
我想这可以通过实现自定义 ReadLockStrategy 来建立(接口是 GenericFileExclusiveReadLockStrategy
)
您可以使用选项 exclusiveReadLockStrategy
设置自定义策略(参见 File2 组件选项)。
P.S。也许最好覆盖开箱即用的策略之一,例如 FileLockExclusiveReadLockStrategy
。然后,您需要做的就是重写 acquireExclusiveReadLock()
方法以在它的超级 returns false.
时抛出异常。
我的路由正在从端点进行轮询
ftp://localhost:21/folder?username=user&password=password&delay=15s&move=processed&moveFailed=error&sendEmptyMessageWhenIdle=true&passiveMode=true.
如果我只添加 readLock=rename
,Camel 将忽略麻烦的文件并将其留在文件夹中。
如何实现骆驼行为,以便如果文件在 readLockTimeout
或 n
次尝试后仍被某人锁定,Camel 将不会跳过该文件,但抛出异常。
我想这可以通过实现自定义 ReadLockStrategy 来建立(接口是 GenericFileExclusiveReadLockStrategy
)
您可以使用选项 exclusiveReadLockStrategy
设置自定义策略(参见 File2 组件选项)。
P.S。也许最好覆盖开箱即用的策略之一,例如 FileLockExclusiveReadLockStrategy
。然后,您需要做的就是重写 acquireExclusiveReadLock()
方法以在它的超级 returns false.