[Seasar-user:12002] Re: Transaction境界を設定したコンポーネントが階層的に呼び出された場合
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2007年 12月 8日 (土) 21:00:04 JST
小林 (koichik) です.
Date: Sat, 8 Dec 2007 12:55:20 +0900
From: "Mitsutaka Sato" <[E-MAIL ADDRESS DELETED]>
To: [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:12000] Re: Transaction境界を設定したコンポーネントが階層的に呼び出された場合
> // トランザクションコミット
> // ※ hogeService内でfooSerivceの例外をキャッチしてsetRollbackOnlyしてる
> // かもしれないが、commit()でOK?
> userTransaction.commit();
(略)
> このように書くのが正しい*スタイル*でしょうか?
いいえ.
setRoolbackOnly() した後に commit() を
呼び出すと例外が吹っ飛んできます.
if (userTransacstion.isRollbackOnly) {
userTransaction.rollback();
} else {
userTransaction.commit();
}
のようにしてください.
--
<component name="koichik">
<property name="fullName">"Koichi Kobayashi"</property>
<property name="email">"[E-MAIL ADDRESS DELETED]"</property>
<property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>
Seasar-user メーリングリストの案内