【问题标题】:Manage transaction with spring-data and DynamoDb使用 spring-data 和 DynamoDb 管理事务
【发布时间】:2020-12-07 15:27:12
【问题描述】:

我是 DynamoDb 的新手,我知道今天,AWS 正在使 DynamoDB 具有对事务的本机支持。我使用 spring-data 来对 dynamoDb 进行操作。但是@Transactional 不起作用,因为当我添加@EnableTransactionManagement 注释时,spring 要求我添加类型为“org.springframework.transaction.PlatformTransactionManager”的 bean,如下所示,但我没有找到 dynamoDb 的 DataSourceTransactionManager 的任何实现。

如何使用 dynamoDb 和 Spring-data 管理事务?

@Bean public PlatformTransactionManager txManager() { return new DataSourceTransactionManager(dataSource()); }

【问题讨论】:

    标签: spring transactions spring-data amazon-dynamodb


    【解决方案1】:

    如果您使用的是this,您会看到上一次代码更改是在 3 年前左右,因此该项目不再维护。我也不认为DynamoDB 事务与Spring 事务相同。在DynamoDB 中,这意味着对所有表的所有更新要么失败要么成功。而在Spring 中,@Transactional 的开头有一个实际的锁,这意味着如果您的代码抛出异常,则会发生回滚。但是您无法将代码的成功执行与您的 DynamoDB 更新是否会失败或成功联系起来。

    【讨论】:

      猜你喜欢
      • 2017-12-23
      • 1970-01-01
      • 2016-09-10
      • 1970-01-01
      • 1970-01-01
      • 2016-12-02
      • 2017-02-20
      • 2014-02-22
      • 1970-01-01
      相关资源
      最近更新 更多