[Seasar-user:11260] Re: Seasar2.3.23-rc1 リリース

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2007年 10月 24日 (水) 16:00:15 JST


小林 (koichik) です.

Date:    Wed, 24 Oct 2007 11:26:51 +0900
From:    島村竜一 <[E-MAIL ADDRESS DELETED]>
To:       [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:11242] Re: Seasar2.3.23-rc1 リリース

> > [CONTAINER-86] - S2DBCP において,コネクションをクローズする前に
> >                  自動コミットモードが無効なら明示的にトランザクションを
> >                  ロールバックするようにしました.
> 「自動コミットモードが無効なら、」という表現がよくわかりません。
> 自動コミットモードの設定はオラクル側の設定ではなく、プログラム側の
> 設定だと思っておりました。
> 
> S2DBCPもしくは自力でプログラムに
> 設定できるものなのでしょうか?

java.sql.Connection#setAutoCommit(boolean)

で設定することができます.
というか,Oracle 側で設定するものではないと
思います.

S2DBCP では,S2JTA によるグローバル
トランザクションが開始されていれば
自動コミットモードは無効のコネクションを
返します.変更はできません.

S2JTA によるグローバルトランザクションが
開始されていなければ自動コミットモードが
有効なコネクションを返しますが,これは
setAutoCommit() で変更することができます.

通常は S2JTA によるトランザクションが開始
された状態でコネクションを取得することが
多いはずなので,自動コミットモードは無効に
なっていることが多いでしょう.
その場合に Web アプリをアンデプロイするなど
した場合に [CONTAINER-86] の問題が発生します.


--
<signature>
   <name>Koichi Kobayashi</name>
   <e-mail>[E-MAIL ADDRESS DELETED]</e-mail>
</signature>




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