如何说骆驼文件路由等待另一个缓慢的文件路由?

时间:2021-07-07 22:47:47

标签: apache-camel spring-camel apache-camel-file

我有一个将文件移动到目标目录的路由。路由以这种方式工作 - 它会 preMove 到处理文件夹,当一切正常时,它将文件移动到 .done 目录。

如果路由失败,我会列出所有应该移动到 .done 文件夹的文件,但是 Camel 文件路由写入它们的速度很慢。当我将文件移动到处理器中另一条路径中的另一个文件夹时,我遇到了 Camel 文件路径仍在将文件写入目录的情况。

修复它的最骆驼方法是什么?

我知道文件。我知道目录文件最终会被写入。

更新 1: 我在我的第一个文件路径中有这些参数:

readLock=idempotent-changed&readLockMinAge=3s

问题是,我应该等待 3s 触发路由然后移动文件吗?

1 个答案:

答案 0 :(得分:1)

从此section

<块引用>

... 最好的方法是 写入另一个文件夹,并在写入后移动文件中的文件 ...您可能还想查看 doneFileName 选项,它使用一个标记文件(完成文件)来表示 当文件完成并准备好使用时。


  • 使用 doneFileName 选项

Write a marker file 在生产者路由中,read data file 在消费者路由中,当相关标记文件存在时。