apache-camel - Camel Poll Enrich 显然忽略了 ftp 组件的 Batch Consumer 行为

标签 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 不给我发送这两个 exchange?它不应该具有与 from 语句相同的行为吗?

编辑 1

有没有一种方法可以使用 poolEnrich 来做到这一点(接收两个文件的所有交换)?

编辑 2

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

最佳答案

不,它不一样。

轮询充实一次仅充实一条消息。

关于apache-camel - Camel Poll Enrich 显然忽略了 ftp 组件的 Batch Consumer 行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37197143/

相关文章:

java - Camel - RabbitMQ Spring 启动

java - Camel 聚合器如何工作

java - 如何从 Camel 以事务方式轮询 Kafka?

java - Camel 处理器不 Autowiring Spring bean

apache-camel - Camel SFTP连接jcraft jsch异常

java - 在单个 Camel 上下文中分离路由实例

apache-camel - Apache Camel,FTP 消费者 : How to take header parameters of the previous route?

java - 用camel处理2个不同的文件

java - 为什么我的属性在这个camel sftp 路由中没有解析?