[Seasar-user:1889] Re: 論理的なコネクションが閉じられない?

Shotaro Tsubouchi sho-ta
2005年 4月 28日 (木) 12:02:40 JST


坪内です。

情報ありがとうございます。>小林さん、伊藤さん

>>S2.1.8 から 2.1.9 への ConnectionWrapperImpl#close に対する変更が
>>原因で「論理的なコネクションを閉じました」のメッセージが出なくなった
>>のでは?という点でした。

デバッグして動きを追ってみましたが、確かにトランザクションコミットのafterCompletionで、
ConnectionWrapperImpl#closeが呼ばれていますが、
トランザクションはコミットされているけれどもまだ終了していないので、
	if (TransactionManagerUtil.getTransaction(transactionManager_) != null) {
		return;
	}
でリターンされて、その後のコネクションプールへのチェックインやログ出力には進まないと。
物理クローズまでclosed_ = trueにならないのが良いのかどうかわかりませんが、
プールへのチェックイン自体はafterCompletionで別途行われているので問題無いようです。

でも取得のログしか出ないのは若干気持ち悪いですね。。今まで出ていただけに。

ということで諸々の問題はやはりHibernate側ですかね。
セッションまわりを追ってみようと思います。


Koichi Kobayashi wrote:
> 小林 (koichik) です.
> 
> On Thu, 28 Apr 2005 01:39:05 +0900
> Sadanori ITO <[E-MAIL ADDRESS DELETED]> wrote:
> 
> 
>>私も以前疑問に思って確かめたことがあるのですが,そのとき確認できたのは
>>S2.1.8 から 2.1.9 への ConnectionWrapperImpl#close に対する変更が
>>原因で「論理的なコネクションを閉じました」のメッセージが出なくなった
>>のでは?という点でした。
> 
> 
> なるほど,S2.1.9 以降だと JTA トランザクションに参加した
> JDBC コネクションの「論理的なコネクションを閉じました」は
> 出力されそうにないですね...
> 
> なので,
> 
> On Thu, 28 Apr 2005 00:32:27 +0900
> Koichi Kobayashi <[E-MAIL ADDRESS DELETED]> wrote:
> 
> 
>>>コミットの後に「論理的なコネクションを閉じました」が出ているはずなので
>>>ご確認ください.
> 
> 
> は無視してください.>坪内さん
> 
> 
> 
>>そもそもコードを眺めることになったのは,閉じられないコネクションが
>>残るケースがあったためですが,発生条件が特定できず,未熟者なので
>>コードも追いきれず,他のユーザの方からもこの辺りに関するご意見が
>>出ていないようでしたので,自分の中では保留になっていました・・・
> 
> 
> こちらもちょっと気になりますが...
> 
> 




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