我们正在尝试在 Camel 中建立一个进程服务器。我们有几个客户端,通过 FTP 提供文件。我们必须镜像 ftp 文件,但我们只想下载我们还没有的文件。客户端的服务器必须保持不变,因此不允许更改,只能读取。
String to = DownloadFolder.getInstance().getDownloadFolder() + File.separator + "test";
from("ftp://user@server/downloads/&binary=true&stepwise=false&localWorkDirectory=/tmp")//
.process(new ProcessCheckForDownload(to))//
.to("file://" + to + "?keepLastModified=true")//
.to("jms:queue:FTP_FILE_RECEIVED");
问题是,在我检查下载之前 ftp 正在下载文件。当设置download=false时,我可以检查下载,但是如何继续。至少现在我无法处理单个文件进行下载。下一个问题是,这项工作被破坏了,因为 jms 想要获取临时文件,而不是最终文件。
也许有人对如何解决这个问题有提示。