我试图通过尝试几个端点组合来实现这一点而没有太多运气。
问题是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
答案 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")