Apache Camel File组件" idempotentRepository"选项与Idempotent消费者处理器?

时间:2017-01-24 01:27:57

标签: java apache-camel

File component的文档中,我看到我们可以通过指定idempotent选项来创建幂等读锁:

from("file://inbox?idempotent=true&idempotentRepository=#messageIdRepo")
    .to("file:data/outbox");

但是在Idempotent Consumers的文档中,我看到我们也可以指定一个像这样的非幂处理器:

from("file:data/inbox?noop=true")
    .idempotentConsumer(header("CamelFileName"), someMessageIdRepository)
    .to("file:data/outbox");

创建幂等消费者的这两种方式之间是否存在一些重大的行为差异?

2 个答案:

答案 0 :(得分:1)

有区别:第一个是在读取文件之前执行的,第二个是在之后执行的。这在从FTP使用者下载大文件时尤为重要。

答案 1 :(得分:0)

我不认为这两种方式之间存在重大行为,除了您可以使用idempotentConsumer声明更多选项