当前位置: 首页 > 知识库问答 >
问题:

Java Camel RouteBuilder在复制完成之前拾取文件

颜经艺
2023-03-14
from("file:src/Data/new/?readLock=changed&readLockMinAge=3m")

似乎没有什么影响它的行为,它直接拿起它,抛出一个异常,因为一些检查,在处理文件,并将它移动到错误文件夹。

我知道有一个问题与FTP文件传输,我将不得不面对稍后,但我不能使它工作在本地文件系统。

任何帮助都将不胜感激!

from("file:src/Data/new/?readLock=changed&readLockMinAge=3m")

我不得不稍微修改一下参数:

from("file:src/Data/new/?readLock=changed&readLockTimeout=65000&readLockMinAge=1m")

因为它抱怨readLockTimeout应该大于readLockCheckInterval+ReadLockMinage。

共有1个答案

暨正真
2023-03-14

查看文档:

避免读取另一个应用程序当前正在写入的文件注意JDK文件IO API在检测另一个应用程序当前是否正在写入/复制一个文件方面有点有限。并且根据操作系统平台的不同,实现方式也不同。这可能导致Camel认为文件没有被另一个进程锁定并开始使用它。因此,你必须自己调查什么适合你的环境。为了对此有所帮助,Camel提供了不同的readLock选项和doneFileName选项供您使用。另请参阅“从其他人直接丢弃文件的文件夹中使用文件”一节。

所以我认为DoneFileName选项将解决您的问题。

 类似资料:
  • 我有一个客户谁的FTP文件通过我们的服务器。我定义了一条路由,从这个目录中选择某些文件,并将它们移动到另一个要处理的目录中。问题是,它一看到它就拿它,而不是等到ftp完成。结果是to URI中描述的路径中的一个0字节文件。我尝试了每一个readLock选项(masterFile、rename、changed、fileLock),但都不起作用。我正在使用spring DSL定义我的骆驼路由。这里有一

  • 问题内容: 这是我下载的代码: 现在,响应只能在完成处理程序内部访问。 我的问题是如何在下载完成之前访问响应? 我需要NSURLResponse知道: ExpectedContentLength 建议的文件名 MIME类型 问题答案: 不使用共享会话 保留会话属性,使用此功能进行初始化。 然后使用 dataTask 下载图片 在此委托方法中,您可以获得 响应 然后将 dataTask 更改为 do

  • 因此,我在eclipse中创建了一个java应用程序,并使用javafx,然后将其导出到一个可运行的jar文件中。但是,当我运行我的。jar文件时,它会给出找不到我的图像的错误。当我在Eclipse内运行时,它工作得非常好。 在UserPane中,我有一个函数将图像名作为“title”并返回ImageView: 我尝试过一些解决方案,但它不会在Eclipse中运行。我需要它在eclipse和.ja

  • 我正在为Android创建一个自制的游戏引擎,但在重用位图画布时遇到了一些问题: 可见的游戏对象在每个帧中接收主画布,以便它们可以使用静态位图或精灵绘制自己。到目前为止一切正常。 精灵由两个位图组成。第一个包含完整的绘图序列,第二个是通过一个动态绘制的。结果位图及其画布是在精灵构造函数中创建的,以避免在绘制循环中重新分配。 我对每个需要相同图形序列的对象重复使用这个精灵。该精灵还有一个功能,可以获

  • 据我所知,组装任务包括以下任务: 我的jar任务依赖于复制库任务,在该任务中,我将所有库从实现配置复制到libs文件夹中。为了获得一个工作的可执行jar,我当前组装了我的项目,执行copy libs任务,然后再次执行jar任务(在libs上迭代并将它们的名称添加到类路径),因为这样做很好。 但是,当我通过dependsOn将copy libs任务放在jar任务之前时,当我执行项目时,jar并没有找