常見的事務傳播規則

2021-08-29 09:20:17 字數 624 閱讀 8945

常見的事務傳播規則有如下幾種:

propagation_mandatory: 要求呼叫該方法的執行緒必須處於事務環境中,否則丟擲異常;

propagation_nested:如果執行該方法的執行緒已處於事務環境下,依然啟動新的事務,方法在巢狀的事務裡執行。如果執行該方法的執行緒並未處於事務中,也啟動新的事務,然後執行該方法,此時與 propagation_required相同;

propagation_never:不允許呼叫該方法的執行緒處於事務環境下,如果呼叫該方法的執行緒處於事務環境下,則丟擲異常;

propagation_not_supported:如果呼叫該方法的執行緒處於事務中,則先暫停當前事務,然戶執行該方法;

propagation_required:要求在事務環境中執行該方法,如果當前執行緒已處於事務中,則直接呼叫,然後執行該方法;

propagation_requires_new:該方法要求有乙個在新的事務環境中執行,如果當前執行緒已處於事務中,先暫停當前事務,啟動新事務後執行該方法,如果當前呼叫執行緒不處在事務中,則啟動新的事務方法後執行方法;

propagation_supports:如果當前執行執行緒處於事務中,則執行當前事務,否則不使用事務。

ke 2007-09-17 22:15

事務的傳播

當事務方法被另乙個事務方法呼叫時,必須指定事務應該如何傳播。在spring tx工程下的 transactiondefinition介面中定義了7種事務傳播行為,它們規定了事務方法及事務方法巢狀調 用時的事務傳播方式。那麼讓我們看看它們的區別?比如 transactional propagation...

事務的傳播行為

所謂事務的傳播行為是指,如果在開始當前事務之前,乙個事務上下文已經存在,這時有七個屬性可以指定該事務的執行行為。1.propagation required 如果當前存在事務,則加入該事務 如果當前沒有事務,則建立乙個新的事務。這是預設值 2.propagation supports 如果當前存在事...

事務的傳播行為

簡介 當事務方法被另乙個事務方法呼叫時,必須指定事務應該如何傳播。例如 方法可能繼續在現有事務中執行,也可能開啟乙個新事務,並在自己的事務中執行。事務的傳播行為可以由傳播屬性指定。spring定義了 7種類傳播行為。事務傳播屬性可以在 transactional註解的propagation屬性中定義...