我有一个将文件移动到目标目录的路由。路由以这种方式工作 - 它会 preMove 到处理文件夹,当一切正常时,它将文件移动到 .done 目录。
如果路由失败,我会列出所有应该移动到 .done 文件夹的文件,但是 Camel 文件路由写入它们的速度很慢。当我将文件移动到处理器中另一条路径中的另一个文件夹时,我遇到了 Camel 文件路径仍在将文件写入目录的情况。
修复它的最骆驼方法是什么?
我知道文件。我知道目录文件最终会被写入。
更新 1: 我在我的第一个文件路径中有这些参数:
readLock=idempotent-changed&readLockMinAge=3s
问题是,我应该等待 3s 触发路由然后移动文件吗?
答案 0 :(得分:1)
从此section
<块引用>... 最好的方法是 写入另一个文件夹,并在写入后移动文件中的文件 ...您可能还想查看 doneFileName 选项,它使用一个标记文件(完成文件)来表示 当文件完成并准备好使用时。
doneFileName
选项Write a marker file 在生产者路由中,read data file 在消费者路由中,当相关标记文件存在时。