[Seasar-user:21876] Re: トランザクション制御について

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2014年 4月 22日 (火) 04:20:10 JST


小林 (koichik) です。

ロールバックした後の「トランザクション
制御のあるアクセス」というのは、新しい
トランザクションを開始して、その中で
接続を取得しているのでしょうか?

ざっくりとでいいので関連するコードの
抜粋 (概要) を見せてもらった方が話が
早いかもしれません。
また、二つの例外のスタックトレースも
みせてください。



On Mon, 21 Apr 2014 21:41:16 +0900, 植木 貴紀 <ueki @ inet.co.jp> wrote:

> 初めて投稿させていただきます。
> うえっきと申します。お世話になります。
> 
> 
> トランザクションの制御を手動で行っているメソッド内で
> (@TransactionAttribute(TransactionAttributeType.NEVER))、
> NullPointerException発生後、ロールバック(userTransaction.rollback)を行っ
> たトランザクションに対して、
> 再度トランザクション制御のあるアクセスしようとすると(※1)下記エラーが
> 発生します。
> 
> org.seasar.framework.exception.SIllegalStateException:
> [ESSR0308]既にロールバックとしてマークされています
> 
> (※1)コネクションプールのMaxSizeを1に設定し、同じコネクションを使用す
> るようにしております。
> 
> 
> エラーは毎回発生するのではなく、発生したりしなかったりと、原因がいまいち
> わかりません。
> 
> userTransaction.rollback();でロールバックしており、トランザクションがク
> ローズしていないということはないと思っています。
> 
> 推測される原因、原因の調査方法等、ご教授いただけたら幸いです。
> よろしくお願いいたします。
> _______________________________________________
> Seasar-user mailing list
> Seasar-user @ ml.seasar.org
> https://ml.seasar.org/mailman/listinfo/seasar-user


-- 
{
  name: "Koichi Kobayashi",
  mail: "koichik @ improvement.jp",
  blog: "http://d.hatena.ne.jp/koichik/",
  twitter: "@koichik"
}



Seasar-user メーリングリストの案内