[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 メーリングリストの案内