[Seasar-user:7151] Re: [Teeda] 特定の例外スロー時だけはコミットしたい
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2007年 4月 9日 (月) 22:00:28 JST
小林 (koichik) です.
Date: Mon, 09 Apr 2007 21:04:56 +0900
From: 松崎 学 <[E-MAIL ADDRESS DELETED]>
To: [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:7149] [Teeda] 特定の例外スロー時だけはコミットしたい
> PageクラスのdoXxxメソッドで、ある特定の例外をスローした時だけは
> テーブルの変更をコミットしたいのですが可能でしょうか?
独自のトランザクション制御用インターセプタを
dicon に定義すれば可能です.
S2Tx のインターセプタは,例外が発生したときの動作を
カスタマイズできるようになっています.
http://s2container.seasar.org/ja/tx.html#Exception
上記ドキュメントの例のように app.dicon 等に
RequiredInterceptor を定義して,コミットしたい例外を
addCommitRule() で登録し,通常の requiredTx に代えて
そのインターセプタを指定してアスペクトを設定
してください.
addCommitRule() を使った例としては,S2 の配布
ファイルの s2-extension/src/main/resources にある
ejbtx.dicon も参考にどうぞ.
--
<signature>
<name>Koichi Kobayashi</name>
<e-mail>[E-MAIL ADDRESS DELETED]</e-mail>
</signature>
Seasar-user メーリングリストの案内