1. 程式人生 > >shiro對事務的影響

shiro對事務的影響

記一個 No transaction aspect-managed TransactionStatus in scope 錯誤的解決方法 

昨天出現一個BUG,事務沒有加回滾成功,修改管理員密碼事務沒有回滾成功 報錯  No transaction aspect-managed TransactionStatus in scope 

當時就納悶,別的事務(另一個Service)的能用, 為什麼這個事務就不能用的。 開始了百度, 然而沒有什麼卵用。

偶然間想到 這個service在 Realm 類中用過,就百度了一下 shiro對事務的影響 。還真找到了。下文貼出解決方法

1 在Shiro框架中注入Bean時,不使用@Autowire,使用ApplicationContextRegister.getBean()方法,手動注入bean。保證該方法只有在程式完全啟動執行時,才被注入。

2 使用@[email protected]註解,設定注入到Shiro框架的Bean延時載入(即在第一次使用的時候載入)。
第一種方式沒用,直接用第二種。

完美解決

 

參考部落格 https://blog.csdn.net/elonpage/article/details/78965176