[Seasar-user:10453] Re: [S2Dao]サーバ再起動時の動作に関して

林 祐一郎 [E-MAIL ADDRESS DELETED]
2007年 9月 11日 (火) 15:12:05 JST


小林様

いつもお世話になっております。
林祐一郎です。

動作確認のお知らせです。

> もしバージョンアップが困難であれば,添付のソースを
> アプリケーションのソースフォルダに加えてください.
> Seasar2 の Jar ファイルよりも WEB-INF/classes に
> あるクラスが優先的に使用されます.
>
WEB-INF/classes下にpackageの階層を作成し、
頂いたPGのclassファイルを配置し、
動作確認をいたしました。
ありがとうございます。

> 以下に SNAPSHOT を起きましたが,これらを使って頂くには
> S2Dao のバージョンアップも必要になってしまいます.
> その場合,dao.dicon 等の修正も必要になるらしいのですが,
> そのドキュメントはまだ揃っていないとのことです.
>
こちらの方法ですが、もし何か資料等ができましたら、
お教えいただくことは出来ますでしょうか。


まだ、どういった対応を取ることになるかわかりませんが、
皆様には、迅速な対応をしていただき、
感謝しております。

また、ご迷惑をかけることもあるかと思いますが
宜しくお願いいたします。

以上です。

-----Original Message-----
From: [E-MAIL ADDRESS DELETED]
[mailto:[E-MAIL ADDRESS DELETED]] On Behalf Of Koichi Kobayashi
Sent: Monday, September 10, 2007 7:30 PM
To: [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:10444] Re: [S2Dao]サーバ再起動時の動作に関して

小林 (koichik) です.

Date:    Mon, 10 Sep 2007 16:00:16 +0900
From:    林 祐一郎 <[E-MAIL ADDRESS DELETED]>
To:       <[E-MAIL ADDRESS DELETED]>
Subject: [Seasar-user:10441] [S2Dao]サーバ再起動時の動作に関して

> 現在、私が携わっているプロジェクトで、
> 『サーブレットコンテナの再起動時と、DBへの登録処理とが重なった場合、
>  データの登録(コミット)が中途半端な状態で行われる』
> という現象が発生いたしました。

Oracle の JDBC ドライバは,コネクションをクローズ
する際に,

・自動コミットモードがオフ
・未コミットのトランザクションがある

場合はトランザクションをコミットしてしまうようです.
以下のドキュメントの「注意」.

http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/java.102/
B19275-03/basic.htm#sthref117

しかし,Seasar2 のコネクションプールは
終了時にコネクションを単にクローズしていました.

そのため,Seasar2 が管理しているトランザクションが
開始されている (自動コミットモードがオフ) 状態で
Web コンテナが終了されると,コネクションプール及び
コネクションがクローズされ,未コミットの
トランザクションがコミットされてしまうことになります.

これはまずいので,コネクションをクローズする際に
自動コミットモードがオフであればトランザクションを
ロールバックするように修正しました.

以下に SNAPSHOT を起きましたが,これらを使って頂くには
S2Dao のバージョンアップも必要になってしまいます.
その場合,dao.dicon 等の修正も必要になるらしいのですが,
そのドキュメントはまだ揃っていないとのことです.

もしバージョンアップが困難であれば,添付のソースを
アプリケーションのソースフォルダに加えてください.
Seasar2 の Jar ファイルよりも WEB-INF/classes に
あるクラスが優先的に使用されます.

http://maven.seasar.org/maven2-snapshot/org/seasar/container/s2-framework/2.
3.23-SNAPSHOT/s2-framework-2.3.23-20070910.095704-3.jar
http://maven.seasar.org/maven2-snapshot/org/seasar/container/s2-extension/2.
3.23-SNAPSHOT/s2-extension-2.3.23-20070910.095704-3.jar
http://maven.seasar.org/maven2-snapshot/org/seasar/dao/s2-dao/1.0.47-SNAPSHO
T/s2-dao-1.0.47-20070910.101146-4.jar


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




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