即使数据存在,Camel readLockMinLength = 0也会创建一个0长度的文件

时间:2018-03-05 02:39:22

标签: apache-camel

我尝试通过设置readLockMinLength=0来修复零长度文件。正在处理所有好的零字节文件。

现在问题是我有非常大的文件(大约2 GB)。在我的目的地,我收到两个文件:

  1. 包含数据的实际文件
  2. 零字节的实际文件
  3. 来自路线包含=。&延迟= 20000& readLockCheckInterval = 20000& readLockTimeout = 60000& readLock =已更改& readLockMinLength = 0 &安培; readLockLoggingLevel = OFF&安培;删除=真"

    我的文件名有时间戳。 我不确定为什么它会创建额外的零字节文件,但是当我删除readLockMinLength = 0时。它永远不会创建零字节文件。

1 个答案:

答案 0 :(得分:0)

您的轮询频率为20秒,读取锁定的检查间隔相同,读取锁定超时为60秒。

多个目录轮询是否可能相互干扰

您是否尝试将delay提升到60秒以上,以便在当前轮询的任何读取锁定内容之后开始下一轮询?

由于同一应用程序在4个节点上运行的新信息,

编辑

Camel docs中有一个警告,其中解释了属性readLock

  

警告:大多数读锁策略不适合在群集模式下使用。也就是说,您不能让多个使用者尝试在同一目录中读取同一文件。在这种情况下,读锁定将无法可靠地运行。

在这种情况下,我们只运行一个实例并使用监视程序来监视进程。如果进程终止,看门狗会自动重新启动它。