Apache Camel 文件组件“idempotrepository”选项与幂等消费者处理器?

Dav*_*idS 3 java apache-camel

在文件组件的文档中,我看到我们可以通过指定idempotent如下选项来创建幂等读锁:

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

但在幂等消费者的文档中,我看到我们还可以指定一个幂等处理器,如下所示:

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

这两种创建幂等消费者的方法之间是否存在显着的行为差异?

小智 5

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