Spring batch 使用cosmos db for Spring批处理作业存储库

Spring batch 使用cosmos db for Spring批处理作业存储库,spring-batch,azure-cosmosdb,Spring Batch,Azure Cosmosdb,是否可以将CosmosDB用作Spring批处理的作业存储库? 如果不可能,我们可以使用内存中的DB来处理Spring批处理作业吗? 作业本身在消息到达远程队列时触发。我们在当前的Spring批处理作业中使用流程指示器的变体,以跟踪正在处理的“块”。saveStep的属性也被禁用。读取器总是使用DB查询来避免拾取相同的块并防止重复处理。 在处理该作业的所有记录之前,我们不会提交队列上的消息。因此,如果节点在处理过程中死亡并返回,则将重发相同的消息,这需要重新启动作业。考虑到所有这些,我们有两种选

是否可以将CosmosDB用作Spring批处理的作业存储库? 如果不可能,我们可以使用内存中的DB来处理Spring批处理作业吗? 作业本身在消息到达远程队列时触发。我们在当前的Spring批处理作业中使用流程指示器的变体,以跟踪正在处理的“块”。saveStep的属性也被禁用。读取器总是使用DB查询来避免拾取相同的块并防止重复处理。
在处理该作业的所有记录之前,我们不会提交队列上的消息。因此,如果节点在处理过程中死亡并返回,则将重发相同的消息,这需要重新启动作业。考虑到所有这些,我们有两种选择:要么提出一种实现cosmos作业存储库的方法,要么简单地在内存中使用并插入一个“afterJob”侦听器清理内存中的作业数据,以确保java mem未在产品中使用。有任何建议吗?

想提供Azure Cosmos DB刚刚发布了SQL API的Spring数据连接器v3的信息:

Azure上的Spring团队与Azure Cosmos DB团队合作,为刚刚发布的版本感到自豪。这是Azure Cosmos DB的SQL API Spring数据连接器的最新版本

此外,还有一个基于批处理的示例microservices解决方案(),可以作为您的解决方案的示例

其他信息:

  • Spring Data Azure Cosmos DB v3 for核心(SQL)API:发行说明和资源()
  • 写得很好的第三方博客非常有用: Spring Data Azure Cosmos DB()简介