如何在不使用seda队列时使用Camel释放文件锁定?

时间:2016-03-11 10:44:15

标签: java apache-camel

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

我会告诉你我的路线:

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

谢谢

1 个答案:

答案 0 :(得分:0)

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

我记录了有关此错误的故障单:https://issues.apache.org/jira/browse/CAMEL-9700