【发布时间】:2020-05-26 07:15:17
【问题描述】:
在我的骆驼应用程序中,它是来自 ftp 服务器的进程文件。当我测试时,我发现在文件上传期间,我的路线开始拾取该文件并进行处理。我已将 readLock 设置为“已更改”,延迟为“60000”,我的文件约为 500m。我有什么遗漏吗?
【问题讨论】:
-
请注意,更改 FTP 服务器的读取锁定通常只有 hh:mm 时间(而不是秒),因此它通常无法如此快速地检测到更改。对于 FTP 传输,如果使用临时名称写入文件,然后在完成后重命名文件,或者使用额外的标记文件(完成文件)来指示何时准备好下载,则它总是更好。
-
来自骆驼文档,我找到了
markerFile - Camel creates a marker file (fileName.camelLock) and then holds a lock on it. This option is not available for the FTP component,这是否意味着标记文件在我的情况下无法使用 - ftp 组件。 -
如何实现
if the file is written using a temporary name and then renamed when done? -
它是上传/写入这些文件的另一个系统。您正在谈论下载文件。您是否同时使用 Camel 进行上传和下载?如果是这样,请阅读有关临时文件的文档。
-
是的,还有另一个系统可以上传文件。我只使用骆驼下载文件。所以我想将 readLockCheckInterval 设置为 1 分钟可以帮助我解决问题。
标签: apache-camel integration camel-ftp