java - 如何获取Spring事务管理器实例?

标签 java spring transactions spring-3 spring-transactions

我使用注释来标记应该在事务中执行的方法。

但是,在一个地方我需要手动执行 transactionManager.rollback(),没有注释。如何获取transactionManager对象?

最佳答案

如果你想回滚当前事务,你可以使用

    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();

请注意,它不会立即回滚事务 - 它会设置“仅回滚”状态,因此事务将在尝试提交期间回滚。


否则,如果您需要程序化事务划分,您可以使用 TransactionTemplate,如 10.6 Programmatic transaction management 中所述。 .

您还可以获取 PlatformTransactionManager 的实例,但它没有被广泛使用,因为 TransactionTemplate 是程序化事务分离的推荐方法。

另请参阅:

关于java - 如何获取Spring事务管理器实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4123355/

相关文章:

java - 如何通过Selenium阻止chrome中的弹出窗口

java - 实现一个行为类似于 nginx 的 Undertow 反向代理

java - Java 持久性中的事务性和非事务性缓存

java - @Transactional 无法在 Spring Boot 中与 CrudRepository 一起工作

java - 自定义 Java XMLBuilder 与基于标准类的对比

java - 使用 imageIO 读取 Tiff 图像元数据时出现问题

java - MVC Spring模型-动态访问属性列表索引

PHP PDO 事务自动回滚

Java 使用正则表达式匹配器获取组

java - Spring MVC 异常处理程序是否只能支持 View 类型的返回类型?