Spring的事務傳播特性


在spring中可通過使用注解@Transcation( propagation = "傳播機制")實現事務的傳播,Spring中有7種傳播機制

1.默認傳播:PROPAGATION_REQUIRED 

  •   支持當前的事務,如果當前沒有事務,就新建事務;
  •    如果當前已有事務,則合並為一個事務。

  解釋:如果有個父方法A和子方法B,只要有一個帶有事務,那么A和B都將擁有事務。

2.獨立事務:REQUIRES_NEW

  •   如果當前已擁有事務,則把當前事務掛起,新建事務
  •   該機制下的事務不受其它調用者事務的影響

  解釋:如果有個父方法A(有事務)和子方法B(有事務),如果A拋出異常,而B使用了這個聲明事務,那么B仍會繼續提交(不受A事務影響)

3.NESTED

  •  如果當前存在事務,它將會成為父級的一個子事務,方法結束后並沒有提交,只是等待父事務結束才提交。
  •  如果當前沒有事務,則新建事務。
  •  如果它本身異常,父級可以捕獲到它的異常,而不進行回滾。正常提交。
  •   但是如果父級異常,它必然回滾。

     解釋:一切以父級事務為主

4.SUPPORTS

  •   若當前已有事務,則加入事務;
  •   若當前沒有事務,則以無事務進行;

  解釋:佛系事務,有就用,沒有就不用了

5.NOT_SUPPORTS

  不支持事務,如果當前有事務,則把該事物掛起

6.MAMDATORY

  •   若當前有事務,則運行當前事務;
  •   若當前沒有實物,則拋異常;

  解釋:父級若沒有事務,就不干了

7.NEVER

  有事務就拋異常


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM