<tx:advice/> 設定

本節摘要說明您可以使用 <tx:advice/> 標籤指定的各種交易設定。預設的 <tx:advice/> 設定為

  • 傳播設定REQUIRED

  • 隔離等級為 DEFAULT

  • 交易為讀寫。

  • 交易逾時預設為底層交易系統的預設逾時,如果交易系統不支援逾時,則為無逾時。

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

您可以變更這些預設設定。下表摘要說明巢狀於 <tx:advice/><tx:attributes/> 標籤內的 <tx:method/> 標籤的各種屬性

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

name

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

propagation

REQUIRED

交易傳播行為。

isolation

DEFAULT

交易隔離等級。僅適用於 REQUIREDREQUIRES_NEW 的傳播設定。

timeout

-1

交易逾時 (秒)。僅適用於 REQUIREDREQUIRES_NEW 的傳播。

read-only

false

讀寫與唯讀交易。僅適用於 REQUIREDREQUIRES_NEW

rollback-for

觸發回滾的 Exception 實例的逗號分隔清單。例如,com.foo.MyBusinessException,ServletException

no-rollback-for

不觸發回滾的 Exception 實例的逗號分隔清單。例如,com.foo.MyBusinessException,ServletException