我可能遗漏了一些东西,但下面是发生的事情。
这很有效:我在todo文件夹中有两个文件。如果我创建这个路由,一切都很好,我每30秒收到两个交换,每个文件一个:
from(String.format(baseFtpConnectionString, "/todo/") + "&scheduler=quartz2&scheduler.cron=0/10+*+*+*+*+?")
.to("log:test?showAll=true&multiline=true")
.unmarshal(bindyRegister)
.process(new Processor() {
@Override
public void process(Exchange exchange) throws Exception {
System.out.println("Ok");
}
})
.end();
问题:但是,如果我创建此路由,则每30秒接收一次交换,在两个文件之间切换。
from("quartz2://getData?cron=0/10+*+*+*+*+?")
.pollEnrich(String.format(baseFtpConnectionString, "/todo/"))
.to("log:test?showAll=true&multiline=true")
.unmarshal(bindyRegister)
.process(new Processor() {
@Override
public void process(Exchange exchange) throws Exception {
System.out.println("Ok");
}
})
.end();
baseFtpConnectionString中的ftp url在String.format:之后是这样的
ftps://user@path:port/path?password=password&passiveMode=true
为什么pollEnrich不把这两个交易所发给我?它不应该具有与from语句相同的行为?
编辑1
有没有一种方法可以使用poolEnrich
(接收两个文件的所有交换)来做到这一点?
编辑2
显然没有。那么,除了链接上的direct
组件之外,还有其他方法可以从ftp
组件加载所有文件吗?
不,这是不一样的。
民意测验丰富一次只丰富一条信息。