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

问题描述 投票:0回答:1

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

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

  1. 包含数据的实际文件
  2. 零字节的实际文件

From Route include = ..&delay = 20000&readLockCheckInterval = 20000&readLockTimeout = 60000&readLock = changed&readLockMinLength = 0&readLockLoggingLevel = OFF&delete = true“

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

apache-camel
1个回答
0
投票

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

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

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

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

Camel docs有一个警告,其中解释了财产readLock

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

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

© www.soinside.com 2019 - 2024. All rights reserved.