1. 程式人生 > >java三大框架之spring事務傳播行為

java三大框架之spring事務傳播行為

<span style="font-family: Arial, Helvetica, sans-serif;"></span><pre code_snippet_id="1839267" snippet_file_name="blog_20160819_1_6865045" name="code" class="plain">
•事務的傳播行為可以由傳播屬性指定.Spring 定義了 7 種類傳播行為
當事務方法被另一個事務方法呼叫時,必須指定事務應該如何傳播.例如:方法可能繼續在現有事務中執行,也可能開啟一個新事務,並在自己的事務中執行
PROPAGATION_REQUIRED--支援當前事務,如果當前沒有事務,就新建一個事務。這是最常見的選擇。
PROPAGATION_SUPPORTS--支援當前事務,如果當前沒有事務,就以非事務方式執行。
PROPAGATION_MANDATORY--支援當前事務,如果當前沒有事務,就丟擲異常。
PROPAGATION_REQUIRES_NEW--新建事務,如果當前存在事務,把當前事務掛起。
PROPAGATION_NOT_SUPPORTED--以非事務方式執行操作,如果當前存在事務,就把當前事務掛起。
PROPAGATION_NEVER--以非事務方式執行,如果當前存在事務,則丟擲異常。
雖然有7種,但是常用的就第一種REQUIRED和第四種REQUIRES_NEW
•事務傳播屬性可以在@Transactional註解的propagation屬性中定義