Camel Poll Enrich显然忽略了ftp组件

时间:2016-05-12 20:49:05

标签: apache-camel camel-ftp

我可能遗漏了一些东西,但这就是发生的事情。

这有效:我在 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

Apparently there is not。那么,除了链接上的那个组件之外,还有其他任何方法可以从ftp组件上开始加载direct组件中的所有文件吗?

1 个答案:

答案 0 :(得分:4)

不,不是一样的。

民意调查只能一次丰富一条信息。