我需要实现以下场景:
1. 远程连接到FTP服务器。 2. 将一个大文件(大小超过3GB)复制到本地文件夹。 3. 流式传输本地文件到Camel处理器,每次批处理100行。 4. 将行的批处理集写入Kafka主题。
现在我已经解决了第一部分。 我能够将文件读入本地目录。 问题是,如何启动第二个路由(将本地文件流式传输到Kafka)? 是否有一种方法可以将所有这些任务链接到同一个路由中,还是应该有多个路由?
如果需要两个路由,则在第一个路由完成后启动第二个路由的最佳方式是什么?
感谢您的任何帮助。 另外,这是已经工作的FTP部分。
1. 远程连接到FTP服务器。 2. 将一个大文件(大小超过3GB)复制到本地文件夹。 3. 流式传输本地文件到Camel处理器,每次批处理100行。 4. 将行的批处理集写入Kafka主题。
现在我已经解决了第一部分。 我能够将文件读入本地目录。 问题是,如何启动第二个路由(将本地文件流式传输到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();
}