Spring在TransactionDefinition接口中7種類型的事務傳播行為,它們規定了事務方法和事務方法發生嵌套調用時事務如何進行傳播:
1.PROPAGATION_REQUIRED
如果當前沒有事務,就新建一個事務,如果已經存在一個事務中,加入到這個事務中。這是最常見的選擇。
2.PROPAGATION_SUPPORTS
支持當前事務,如果當前沒有事務,就以非事務方式執行。
3.PROPAGATION_MANDATORY
使用當前的事務,如果當前沒有事務,就拋出異常。
4.PROPAGATION_REQUIRES_NEW
新建事務,如果當前存在事務,把當前事務掛起。
5.PROPAGATION_NOT_SUPPORTED
以非事務方式執行操作,如果當前存在事務,就把當前事務掛起。
6.PROPAGATION_NEVER
以非事務方式執行,如果當前存在事務,則拋出異常。
7.PROPAGATION_NESTED
如果當前存在事務,則在嵌套事務內執行。如果當前沒有事務,則執行與PROPAGATION_REQUIRED類似的操作。
posted on 2009-07-27 18:33
jadmin 閱讀(72)
評論(0) 編輯 收藏