Camel Poll Enrich 显然忽略了 ftp 组件的 Batch Consumer 行为
Camel Poll Enrich apparently ignores the Batch Consumer behavior of the ftp component
我可能遗漏了什么,但这是正在发生的事情。
有效: 我在 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中的ftpurl在String.format:
之后是这样的
ftps://user@path:port/path?password=password&passiveMode=true
为什么pollEnrich不给我发这两个exchange?它不应该具有与 from 语句相同的行为?
编辑 1
有没有办法使用 poolEnrich
来做到这一点(接收两个文件的所有交换)?
编辑 2
Apparently there is not。那么,除了 link 之外,还有其他方法可以从 ftp
组件加载所有文件吗? direct
组件?
不,这不一样。
轮询充实一次只充实一条消息。
我可能遗漏了什么,但这是正在发生的事情。
有效: 我在 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中的ftpurl在String.format:
之后是这样的ftps://user@path:port/path?password=password&passiveMode=true
为什么pollEnrich不给我发这两个exchange?它不应该具有与 from 语句相同的行为?
编辑 1
有没有办法使用 poolEnrich
来做到这一点(接收两个文件的所有交换)?
编辑 2
Apparently there is not。那么,除了 link 之外,还有其他方法可以从 ftp
组件加载所有文件吗? direct
组件?
不,这不一样。
轮询充实一次只充实一条消息。