我想通过休息调用使用驼峰路由从ftp下载一组文件:
我尝试以下方法:
from("cxfrs:bean:restndpoint")
.pollEnrich("some ftp url")
.to("destinationFilesLocation")
.bean(MyBean.class);
它仅适用于ftp上的一个文件,当我尝试再次运行它只是等待文件时。如果我替换pollEnrich("某些ftp url")来自("某些ftp url")骆驼不会等待休息呼叫只是一直下载文件。
答案 0 :(得分:0)
这就是pollEnrich EIP模式的工作原理。它用于轮询单个消息。
通过REST调用下载一组FTP文件的用例听起来更像是应该使用控制总线EIP模式,其中REST调用将触发启动另一个执行FTP下载的路由。
答案 1 :(得分:0)
这样的事情对我有用:
from("cxfrs:bean:restndpoint")
.to("controlbus:route?action=start&routeId=ftpRouteId&async=true");
from("some ftp url").routeId("ftpRouteId").noAutoStartup()
.choice()
.when(body().isNull())
.to("direct:extract")
.otherwise()
.to("destinationFilesLocation");
from("direct:extract")
.to("controlbus:route?action=stop&routeId=ftpRouteId&async=true")
.bean(MyBean.class);