[Seasar-user:12544] Re: Seasar2 トランザクションロールバックについて

Yasuo Higa [E-MAIL ADDRESS DELETED]
2008年 1月 17日 (木) 16:51:43 JST


ひがです。
> 
> tomcat6.0
> Seasar2.3.19
> SqlServer2005
> JDK1.6
> 
> Seasar2 はtomcatサーバーでSqlServerを接続する時、一つのServiceで2件のUpdate
文を実行すると、一番目は成功するが、2番目は失敗する。
> ログで、「トランザクションをロールバックしました」というメッセージを出したが、
DBで一番目のUpdate文は更新した内容が依然として存在
> していて、正常にロールバックしない。これは何故か
> 
> グは下記の通り。
> 2008/01/10 09:26:27.812 [DEBUG] トランザクションを開始しました
> 2008/01/10 09:26:27.984 [DEBUG] UPDATE dbo.test
> SET USER_PWD = 'tcl'
> WHERE USER_NO = '15'
> 2008/01/10 09:26:28.375 [DEBUG] 物理的なコネクションを取得しました
> 2008/01/10 09:26:28.375 [DEBUG] 論理的なコネクションを取得しました
> 2008/01/10 09:26:28.531 [DEBUG] 論理的なコネクションを閉じました
> 2008/01/10 09:26:28.531 [DEBUG] 物理的なコネクションを閉じました

普通は直ぐに物理コネクションが閉じられることはないので、
S2Containerを毎回、create,destoryしているのではないでしょうか。
S2Containerの生成は、S2ContainerServletに任せてください。
http://s2container.seasar.org/2.4/ja/DIContainer.html#
S2ContainerServlet

よろしくお願いします。


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