Apache Camel - 通过smb端点传输文件

时间:2015-08-09 07:35:59

标签: apache-camel

我试图通过尝试几个端点组合来实现这一点而没有太多运气。

问题是Camel在第一次复制到目的地后似乎没有复制修改过的文件。使用的路线是:

from("smb://networkDriveOne?noop=true&fileName=inputFile.csv")
  .to("smb://networkDriveTwo?fileExist=Override")

重新启动Camel时,inputFile.csv文件将按预期复制到其目标。但是,当inputFile.csv被修改并保存在输入目录中时,Camel不会将其拾取并覆盖目标中的那个。

版本:

骆驼:2.14.0

ActiveMQ:5.11.0

Spring MVC:4.1.6.RELEASE

1 个答案:

答案 0 :(得分:1)

这不是问题。请参阅File2文档。

  

noop :如果为true,则不会以任何方式移动或删除文件。此选项适用于只读数据或ETL类型要求。如果noop = true,Camel也会设置idempotent = true,以避免一遍又一遍地使用相同的文件。

但您可以使用幂等消费者为您工作。 试试这个:

from("smb://networkDriveOne?noop=true&fileName=inputFile.csv
    &idempotentKey=${file:name}-${file:modified}")
    .to("smb://networkDriveTwo?fileExist=Override")