原文:解決@Transactional事務在類內部方法調用不生效

代碼示例 現象描述 addInfo方法上沒有事務注解,addOne方法上有事務注解,此時運行addInfo調用addOne方法,不會產生事務,測試數據遇到異常沒有回滾。如果從外部類直接調用addOne方法,則事務是可以正常生效的。 解決方案 使用AopContext.currentProxy 來獲取代理類再調用,如下 新問題 再次運行,如果沒有添加expose proxy true 這個屬性 暴露 ...

2021-03-26 17:53 0 312 推薦指數:

查看詳情

分析spring事務@Transactional注解在同一個中的方法之間調用不生效的原因及解決方案

問題: 在Spring管理的項目中,方法A使用了Transactional注解,試圖實現事務性。但當同一個class中的方法B調用方法A時,會發現方法A中的異常不再導致回滾,也即事務失效了。 當這個方法被同一個調用的時候,spring無法將這個方法加到事務管理中。 我們來看一下生效 ...

Thu Dec 19 18:58:00 CST 2019 1 12450
java注解@Transactional事務調用不生效問題及解決辦法

@Transactional 內部調用例子 在 Spring 的 AOP 代理下,只有目標方法由外部調用,目標方法才由 Spring 生成的代理對象來管理,這會造成自調用問題。若同一中的其他沒有@Transactional 注解的方法內部調用有@Transactional 注解的方法 ...

Thu Jul 23 22:15:00 CST 2020 0 5290
java @Transactional 注解內部調用不回滾問題解決

今天幫同事看一個問題,關於事務在同一個中,一個方法調用另一個方法 事務不回滾問題,這問題以前也遇到過,不過這次是在springboot項目中來解決,現在直接把方法寫出來。 1. POM文件引入 如下: 2. 在springboot啟動上,添加注解,如下: 3. ...

Fri Mar 12 06:33:00 CST 2021 0 372
@Transactional事務內部commit方法

以下代碼塊可以在事務內部異步提交數據庫 TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronizationAdapter() { public void ...

Mon Jun 08 05:30:00 CST 2020 0 1804
spring aop 內部方法調用事務生效問題解決

方法1: 基於 proxy 的 spring aop 帶來的內部調用問題可以使用 AopContext.currentProxy() 強轉為當前的再調用就可以解決了 例如: 錯誤用法:public Account getAccountByName2(String userName ...

Thu Aug 16 20:12:00 CST 2018 0 1399
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM