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

nobu [E-MAIL ADDRESS DELETED]
2007年 9月 10日 (月) 17:31:52 JST


近藤(nobu)です。

トランザクションが使用されているかどうかが第一だと思います。
素の状態では、オートコミットになってしまいますので、随時commitされます。
確認方法は、ログの中に「トランザクションを開始しました」というログが
出力されて入れば、トランザクションは使用されています。
トランザクションが使用されていない用であれば、以下リンクを参考にdicon
ファイルを設定すればトランザクションを適用することができます。

http://s2container.seasar.org/2.3/ja/tx.html



林 祐一郎 さんは書きました:
> いつもお世話になっております。
> 林祐一郎と申します。
> 
> seasarメーリングリストに登録させていただきました。
> 
> 今後とも宜しくお願いいたします。
> 
> 
> 早速で恐縮ですが、1つ質問があります。
> 
> 現在、私が携わっているプロジェクトで、
> 『サーブレットコンテナの再起動時と、DBへの登録処理とが重なった場合、
>  データの登録(コミット)が中途半端な状態で行われる』
> という現象が発生いたしました。
> 
> 具体的に言いますと、30000件ほどのマスタデータを
> CSVファイルより読み取り、マスタへ登録する処理があります。
> この最中に、サーブレットの再起動が実行され(業務終了時間のため)、
> その後、データの確認をしたところ、マスタに10000件ほどのデータが登録されてお
> りました。
> 
> 環境は以下のようになります。
> [実行環境]
> OS:Windows2003 Server Enterprise Edition
> DB:Oracle Database Enterprise Edition R9.2.0
> Java:1.4.1_03
> WEBサーバ:Interstage Application Server Enterprise EditionV6.0
> S2FRAMEWORK:2.3.12
> S2DAO:1.0.35
> 
> テスト環境(本番環境と同じ環境)などにて、ログの確認も含め、何回か実行してみ
> ましたが、
> やはり、コンテナ再起動時に中途の件数にてデータの登録が行われていました。
> 
> オートコミットが関連しているのか、何か設定の問題なのか、
> いろいろと調べてみたのですが、有力な情報が得られず
> 悩んでおりました。
> 
> 本来は、こちらで質問する内容でないかもしれませんが、
> 解決方法をご存知の方がいらっしゃいましたら、
> どうぞ、ご連絡をお願いいたします。
> 
> 以上です。
> 
> 
> 
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
> 




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