java - Spring 中 DynamoDB 的事务策略

标签 java spring transactions jta amazon-dynamodb

在 Java Spring 应用程序中启用 AWS DynamoDB 多操作更新事务性的最合适方法是什么?

AWS 的 DynamoDB 仅在每行更新时是原子的。我需要将二级索引维护为单独的表,因此我将在主表中插入“主”行,然后在二级索引表中插入一行。如果第二次插入失败,我想“回滚”第一次,以保持数据的一致性。 DynamoDB 没有对事务或回滚的任何 native 支持。

在使用 Hibernate 等 JPA 数据源时,我熟悉使用 Spring 事务管理器,但我不确定实现我自己的事务管理代码的最佳方法是什么。

最佳答案

我们有类似的要求。我们采用的是一种“多语言”方法。那就是将事务部分(您的主表)保留在关系数据库中。仅在主表中提交事务后更新 DynamoDB 中的二级索引。

关于java - Spring 中 DynamoDB 的事务策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12880680/

相关文章:

spring - Spring上的嵌套事务

java - 何时使用 JDBC 对连接、语句和结果集调用 getWarnings()?

java - 当 viewpager fragment 的用户 "swipes out"时运行代码?

java - 不同情况下前缀和后缀运算符的区别

Spring Data JPA – @Query – 不支持 DML 操作

java - 如何使用@Transactional读取spring方法中保存的实例

java - Glassfish:在部署期间修改 EAR 的部署描述符

java - 如何将 Spring 功能添加到 Eclipse。

spring - 如何使用 JSTL 获取 jsp 中列表的元素?

java - Android - 无法从静态上下文中引用 executePendingTransactions