下面是这种情况,我想实现:Apache的骆驼链接路由一起
远程FTP服务器 复制大文件(3gig +尺寸)到本地文件夹 流本地文件到骆驼处理器,一次批量处理文件100行。 将批处理的一组线条写入Kafka主题。
现在我已经弄清了第一部分。我可以将文件读入本地目录。问题是,我该如何踢第二条路线(将本地文件流式传输到Kafka)?有没有办法访问到所有这些任务在同一个路线,或者我应该有多种途径:
1的FTP - >本地文件,然后1对本地文件 - > KAFKA
如果我需要两条路线,那么在第一条路线完成后,启动第二条路线的最佳方式是什么?
感谢您的任何帮助。此外,这里是已经工作的FTP部分。
public void configure() throws Exception {
from(fullyBuiltFtpPath)
.routeId("FTP ENDPOINT CONSUMER" + UUID.randomUUID().toString())
.process(new FtpToLocalFileProcessor())
.to("file:c:\\temp")
.log(LoggingLevel.INFO, "FILENAME: ${header.CamelFileName}").end();
}
您可以使用[文件组件](http://camel.apache.org/file2.html)来监视文件中保存100行批处理的目录。但是,你为什么不把批次直接送到卡夫卡?你需要对文件做其他事吗? – Ralf
这是另一种选择,但我不知道如何直接从FTP路由批处理文件。在FTP路径将文件复制到localTempDirectory之后,是否有组件允许我将其流入? – h0mer