在我的应用程序中,我们有多个节点来共享文件系统。因此,在这种情况下,锁定机制需要idempotentRepository。
问题: Apache中的为什么"readLock =幂等“只适用于文件组件,而不适用于FTP?
readLock:幂等不兼容FTP,它只兼容文件组件。
<from uri="ftp://XXX:xxxxxx@localhost/var/opt/irs/message?delete=true&readLock=idempotent&idempotentRepository=#idempotentRepo&readLockLoggingLevel=WARN&shuffle=true" />readLock:重命名与兼容
我做到了这一点
<from uri="ftp://XXX:xxxxxx@localhost/var/opt/irs/message?delete=true&readLock=rename&idempotentRepository=#idempotentRepo&readLockLoggingLevel=WARN&shuffle=true" />我想知道背后的原因。
有人能解释一下背后的原因吗?
发布于 2017-11-23 16:53:32
正如您在文档这里中清楚看到的那样。它说
幂等函数-- Camel 2.16 (仅用于文件组件)用于使用idempotentRepository作为读锁.
您可以通过这样的操作来实现ftp的这一点。
from("ftps://{{ftp.username}}@{{ftp.host}}/{{ftp.importDirectory}}?password="
+ "{{ftp.password}}&readLock=changed&move={{ftp.processed}}"
+ "&moveFailed={{ftp.failed}}"
+ "&securityProtocol=SSL&execProt=P&execPbsz=0&passiveMode=true")
.idempotentConsumer(header("camelFileAbsolutePath"),
MemoryIdempotentRepository.memoryIdempotentRepository(200))
.to("bean:ftpConsumer?method=consumeMethod")https://stackoverflow.com/questions/47456552
复制相似问题