file - Camel File 组件 - Idempotrepository 和 InProgressRepository 之间有什么区别

标签 file apache-camel idempotent

Idempotrepository 和 InProgressRepository 之间到底有什么区别? 我有以下来自 the File component page 的定义:

  • Idempotrepository:“使用幂等消费者 EIP 模式让 Camel 跳过已处理文件的选项”
  • InProgressRepository:“正在进行的存储库用于记录当前正在使用的正在进行的文件。”

对我来说,这些是相同的定义,只是措辞略有不同。 它们还可以使用相同的幂等存储库。

所以我有点困惑,我两者都需要吗?或者幂等存储库足够好吗?

最佳答案

在阅读以下信息之前,请确保您已阅读并理解 idempotent 的概念.


Idempotrepository - 用于存储已处理文件的缓存的位置(即文件已被您的路由消耗和处理)。当您检查幂等功能时使用。

InProgressRepository - 用于存储当前正在进行的文件(即当前批处理中要使用的文件)的缓存的位置。始终供文件使用者使用。

IMO,通常总是需要 InProgressRepository 并使用默认设置(基于内存的存储库)。如果 idempotent 则可能需要 IdempotoryRepository是必需的,并选择自己的设置( file-basedJPA-based 、...)以防止应用程序重新启动。

关于file - Camel File 组件 - Idempotrepository 和 InProgressRepository 之间有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64861495/

相关文章:

html - 将c++引入html

java - 读取 .txt 文件时每次输出后缺少一行

apache-camel - Camel MDC Logback 卷下的陈旧信息

spring-boot - apache Camel route 引用的 bean 的延迟加载

c# - IDisposable.Dispose() 实现应该是幂等的吗?

apache-kafka - Kafka 主题和微服务的多个实例

c - 从c中的文本文件中读取字符并存储在二维数组中问题

python - 我正在尝试将数据写入文件

java - 从 AMQP 到 RESTful 端点的 Camel 路由

ansible - ansible playbook 中的幂等性