【问题标题】:How to release file lock with Camel when not consuming from seda queue?不从 seda 队列消费时如何使用 Camel 释放文件锁?
【发布时间】:2016-03-11 10:44:14
【问题描述】:

使用 Apache Camel,我有一个路由,它获取一个文件,通过一个 bean 详细说明它并将它发送到一个 seda 队列。 如果没有人从该队列中消费,则文件上的锁定仍然存在。 在这种情况下是否有可能释放锁? 我刚刚尝试将“discardIfNoConsumers=true”作为 seda 选项,但不起作用。

我会告诉你我的路线:

from(loadInputUri())
            .split()
            .tokenize(getLineSeparator(), getBatchSize())
            .streaming()
            .stopOnException()
            .bean(Bean.class)
            .end()
            .to("seda:outQueue?discardIfNoConsumers=true");

谢谢

【问题讨论】:

    标签: java apache-camel


    【解决方案1】:

    啊,discardIfNoConsumers=true 很好地发现了,因为这确实是 Camel 中的一个小错误,因为完成被移交给消息的新副本,然后该副本被丢弃。所以永远不会触发完成来删除标记文件。

    我记录了一个关于这个错误的票:https://issues.apache.org/jira/browse/CAMEL-9700

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多