如何在Spring事务管理中调用自定义回滚方法?

环境:Spring 3,自定义事务管理,JDBC事务

我刚刚阅读了有关使用事务模板处理事务管理的Spring文档。 它似乎过于复杂, 所以我想问:

我的大多数事务与JDBC相关,这意味着我只是@Transactional在服务中声明了一个。但是,现在

,则需要回滚,在这种情况下,我将提供回滚代码。

正如我在我的方法进步,在我的交易-我想 (需要回滚操作),以及异常时我只是

可以访问以前存储的对象。

为什么不只在transactionTemplate中提供一个用于存储内容的映射并在@Transactional注释上定义一个自定义回滚方法?

这是我考虑的方式,我没有遵循Spring的考虑方式。有人可以帮助我弥合我想要的东西与如何在spring最有效地完成它之间的鸿沟吗?对于一些特殊情况的操作,我只需要这样做。

回答:

您可以使用AfterThrowing建议(当引发异常时)并在myCustmRollback()那里调用您的方法(),您可以使用TransactionSynchronizationManager类获取当前事务并将其回滚…

或者,您可以使用AroundAdvice开始和提交/回滚您的事务(通过这种方式,您可以通过使用TransactionSynchronizationManager类使用spring提供的事务管理器)

以上是 如何在Spring事务管理中调用自定义回滚方法? 的全部内容, 来源链接: utcz.com/qa/427325.html

回到顶部