2012-08-03 19 views
6

私は作業中のプロジェクトの接続タイムアウトの問題を修正する作業を進めています。 c3p0を使用して接続プールを管理し、ormツールとして休止状態にします。我々はまた春を使用します。'debugUnreturnedConnectionStackTraces'を使用した接続のデバッグの紛失

返されていない接続があるかどうかを調べるには、c3p0設定(c3p0プロパティではない)でdebugUnreturnedConnectionStackTracesをtrueに設定しています。

他に必要なことはありますか?私はlod4j.propertiesに何かを追加する必要がありますか、それともdebugUnreturnedConnectionStackTracesをtrueに設定するだけで十分ですか?

さらに、c3p0プロパティでdebugUnreturnedConnectionStackTracesをtrueに設定する必要がありますか?助けのための

おかげで

答えて

3

個人的に私は通常、私はタイムアウトのデフォルト値は0であると私は信じてい

<property name="hibernate.c3p0.unreturnedConnectionTimeout">60</property> 
<property name="hibernate.c3p0.debugUnreturnedConnectionStackTraces">true</property> 

私はhibernate.cfg.xmlに次の2行の両方を追加しますどのように動作するはずです。コーリーの答えに少し拡大

+0

ありがとうscott。しかし、「debugUnreturnedConnectionStackTraces」をtrueに設定するか、log4j.propertiesにも変更を加える必要があるかどうかで十分ですか? 'debugUnreturnedConnectionStackTraces'はスタックトレースをどこに記録するかを指定します。アプリケーションサーバーのログにログインしますか? – Npa

+0

私はlog4jを使用しませんが、ログレベルをデバッグする必要があると思います。そして、それはアプリケーションサーバーのログに終わるはずです。 –

10

unreturnedConnectionTimeoutが正でdebugUnreturnedConnectionStackTracesがtrueに設定されている場合は、未返還の例外を生成したスタックトレースがロガー「com.mchange.v2でINFOレベルで記録されます。リソースプール.BasicResourcePool "。

多くの場合、すべてのロガーからINFOレベル以上のものがログに記録されるため、これらのスタックトレースはログにのみ表示されます。しかし、表示されない場合は、ロギング設定をチェックして、そのロガーからのINFOのメッセージがフィルタリングされていないことを確認してください。

unreturnedConnectionTimeoutも設定されていない場合、debugUnreturnedConnectionStackTracesはNOTHINGを行います。

は、私はこのことができます願ってい

http://www.mchange.com/projects/c3p0/#unreturnedConnectionTimeout

http://www.mchange.com/projects/c3p0/#debugUnreturnedConnectionStackTraces

を参照してください!

p.s.適切に設定されている限り、これらのプロパティの設定方法は関係ありません。 c3p0は、プールの開始時にINFOにプール設定をダンプします。ログをチェックして、パラメータを設定しようとしているにもかかわらず、期待どおりの設定をしていることを確認してください。また、JMXを使用してパラメータを検査することもできます。

関連する問題