[Seasar-user:9010] Re: プロシージャのロールバックについて

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2007年 7月 7日 (土) 02:30:22 JST


小林 (koichik) です.

Date:    Fri, 6 Jul 2007 21:52:34 +0900 (JST)
From:    <[E-MAIL ADDRESS DELETED]>
To:      [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:9006] プロシージャのロールバックについて

>   プロシージャを使用しているのですが、プロシージャは成功を返す状態ですが、
>   実際にはロールバックされてしまい、思うように更新されない状態です。
>   なにか原因のヒントになることがあればお教えいただけますでしょうか?

この情報だけでは何とも言えないのですが,
ロールバックされているということは,トランザクション
制御は有効に動いているようですね.
となると,誰かがトランザクションをロールバック
していることになると思います.

まず考えられるのは,S2TestCase 等を使っている場合です.
この場合,〜Tx() で終了するメソッドは実行後
トランザクションをロールバックします.

単体テストではなく,Web アプリ等でこの現象が
発生しているなら,トランザクション境界の中から
例外がスローされていることが考えられます.

まずはログを確認して,「トランザクションを開始しました」
「ロールバックしました」等のメッセージが出ていることを
確認してください.
「ロールバックしました」のメッセージが出ているなら,
トランザクション境界 (サービスクラスでしょうか) の
メソッドをステップ実行して,例外が発生していないか
確認してください.


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