如何在Spring事务管理中调用自定义回滚方法?
环境:Spring 3,自定义事务管理,JDBC事务
我刚刚阅读了有关使用事务模板处理事务管理的Spring文档。 它似乎过于复杂, 所以我想问:
我的大多数事务与JDBC相关,这意味着我只是@Transactional
在服务中声明了一个。但是,现在
,则需要回滚,在这种情况下,我将提供回滚代码。
正如我在我的方法进步,在我的交易-我想 (需要回滚操作),以及异常时我只是
可以访问以前存储的对象。
为什么不只在transactionTemplate中提供一个用于存储内容的映射并在@Transactional
注释上定义一个自定义回滚方法?
这是我考虑的方式,我没有遵循Spring的考虑方式。有人可以帮助我弥合我想要的东西与如何在spring最有效地完成它之间的鸿沟吗?对于一些特殊情况的操作,我只需要这样做。
回答:
您可以使用AfterThrowing建议(当引发异常时)并在myCustmRollback()
那里调用您的方法(),您可以使用TransactionSynchronizationManager
类获取当前事务并将其回滚…
或者,您可以使用AroundAdvice开始和提交/回滚您的事务(通过这种方式,您可以通过使用TransactionSynchronizationManager
类使用spring提供的事务管理器)
以上是 如何在Spring事务管理中调用自定义回滚方法? 的全部内容, 来源链接: utcz.com/qa/427325.html