簡體   English   中英

如何獲取Spring事務管理器實例?

[英]How to obtain Spring transaction manager instance?

我使用注釋來標記應該在事務中執行的方法。

但是,在一個地方我需要手動執行transactionManager.rollback() ,而不需要注釋。 如何獲取transactionManager對象?

如果要回滾當前事務,可以使用

    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();

請注意,它不會立即回滾事務 - 它設置“僅回滾”狀態,因此在嘗試提交期間將回滾事務。


否則,如果您需要編程事務取消,則可以使用TransactionTemplate ,如10.6程序化事務管理中所述

您還可以獲取PlatformTransactionManager的實例,但由於TransactionTemplate是程序化事務處理拆除的推薦方法,因此它沒有被廣泛使用。

也可以看看:

如果您的對象是由Spring配置的,那么您當然可以將一個事務管理器注入其中......

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM