<tx:advice/> 設定

本節總結了您可以使用 <tx:advice/> 標籤指定的各種事務設定。預設的 <tx:advice/> 設定是

  • 傳播設定REQUIRED。

  • 隔離級別為 DEFAULT。

  • 事務是讀寫模式。

  • 事務超時預設為底層事務系統的預設超時,如果不支援超時則為無超時。

  • 任何 RuntimeException 都會觸發回滾,任何受檢查的 Exception 不會觸發回滾。

您可以更改這些預設設定。下表總結了巢狀在 <tx:advice/><tx:attributes/> 標籤內的 <tx:method/> 標籤的各種屬性。

表 1. <tx:method/> 設定
屬性 必填? 預設值 描述

name

要與事務屬性關聯的方法名稱。可以使用萬用字元 (*) 字元將相同的事務屬性設定與多個方法關聯(例如,get*handle*on*Event 等)。

傳播

REQUIRED

事務傳播行為。

隔離

DEFAULT

事務隔離級別。僅適用於傳播設定為 REQUIREDREQUIRES_NEW 的情況。

超時

-1

事務超時(秒)。僅適用於傳播 REQUIREDREQUIRES_NEW 的情況。

read-only

讀寫事務與只讀事務。僅適用於 REQUIREDREQUIRES_NEW

rollback-for

以逗號分隔的 Exception 例項列表,這些例項會觸發回滾。例如,com.foo.MyBusinessException,ServletException

no-rollback-for

以逗號分隔的 Exception 例項列表,這些例項不會觸發回滾。例如,com.foo.MyBusinessException,ServletException

© . This site is unofficial and not affiliated with VMware.