【问题标题】:Taking input from multiple files to a camel route从多个文件中获取输入到骆驼路线
【发布时间】:2022-01-24 22:27:21
【问题描述】:

我想编写一个骆驼路由,它将从多个文件目的地获取输入并在聚合后处理它们。 是否可以从多个文件中获取单个路由的输入?

【问题讨论】:

    标签: file apache-camel spring-camel camel-ftp


    【解决方案1】:

    是的,您可以使用poll-enrich 调用像文件这样的消费者端点来丰富消息。这适用于许多其他消费者端点以及 SFTP 或消息队列。

    如果您需要多次读取同一个文件,则可能会变得更加棘手,因为您可能必须设置 noop=true 并可能使用 dummy idempotent repository 之类的东西来绕过骆驼的默认行为。

    请注意,调用 pollEnrich 似乎会清除标题/创建新消息,因此请使用交换属性在 pollEnrich 调用之间保留数据。

    from("file:someDirectory")
        .setProperty("file1").body()
        .pollEnrich("file:otherDirectory", 3000)
        .setProperty("file2").body()
        .pollEnrich("file:yetAnotherDirectory", 3000)
        .setProperty("file3").body();
    

    【讨论】:

      猜你喜欢
      • 2013-12-04
      • 2017-08-04
      • 2018-09-05
      • 1970-01-01
      • 2020-09-17
      • 2018-12-08
      • 2017-05-31
      • 1970-01-01
      • 2018-01-30
      相关资源
      最近更新 更多