<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

トランザクション分離レベル。REQUIRED または REQUIRES_NEW の伝播設定にのみ適用可能。

timeout

いいえ

-1

トランザクションタイムアウト(秒)。伝播 REQUIRED または REQUIRES_NEW にのみ適用可能。

read-only

いいえ

false

読み取り / 書き込みトランザクションと読み取り専用トランザクション。REQUIRED または REQUIRES_NEW にのみ適用されます。

rollback-for

いいえ

ロールバックをトリガーする Exception インスタンスのコンマ区切りリスト。例: com.foo.MyBusinessException,ServletException

no-rollback-for

いいえ

ロールバックをトリガーしない Exception インスタンスのコンマ区切りリスト。例: com.foo.MyBusinessException,ServletException