2015-08-09 46 views
0

我试图通过尝试几个端点组合来运行而没有太大的运气。Apache Camel - 通过smb端点的文件传输问题

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

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

这不是一个问题。请参阅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") 
+0

谢谢队友。我还在骆驼邮件列表中放置了相同的问题http://camel.465427.n5.nabble.com/smb-endpoint-modified-files-not-copied-to-destination-td5770499.html – zoro74