Idempotrepository 和 InProgressRepository 之间到底有什么区别? 我有以下来自 the File component page 的定义:
- Idempotrepository:“使用幂等消费者 EIP 模式让 Camel 跳过已处理文件的选项”
- InProgressRepository:“正在进行的存储库用于记录当前正在使用的正在进行的文件。”
对我来说,这些是相同的定义,只是措辞略有不同。 它们还可以使用相同的幂等存储库。
所以我有点困惑,我两者都需要吗?或者幂等存储库足够好吗?
最佳答案
在阅读以下信息之前,请确保您已阅读并理解 idempotent 的概念.
Idempotrepository - 用于存储已处理文件的缓存的位置(即文件已被您的路由消耗和处理)。当您检查幂等功能时使用。
InProgressRepository - 用于存储当前正在进行的文件(即当前批处理中要使用的文件)的缓存的位置。始终供文件使用者使用。
IMO,通常总是需要 InProgressRepository 并使用默认设置(基于内存的存储库)。如果 idempotent 则可能需要 IdempotoryRepository是必需的,并选择自己的设置( file-based 、 JPA-based 、...)以防止应用程序重新启动。
关于file - Camel File 组件 - Idempotrepository 和 InProgressRepository 之间有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64861495/