14

私はc3opが初めてで、の使用について混乱しています:

c3p0.idle_test_period

このリンク: C3P0 接続プールを構成する方法

idleTestPeriod :  Must be set in hibernate.cfg.xml (or hibernate.properties), Hibernate default:  
0, If this is a number greater than 0, c3p0 will test all idle, pooled but unchecked-out  
connections, every this number of seconds.

この種のテスト (idel、プールされた接続) の目的と、c3p0.idle_test_period と c3p0.timeout の関係は何ですか?

4

2 に答える 2

28

データベース サーバーは、一定の時間が経過するとその側で接続を閉じる場合があります。これは、サーバー側で使用できなくなった接続でクエリを送信しようとするため、アプリケーションでエラーが発生する可能性があります。

これを回避するために、プールに接続の有効性を定期的にチェックさせることができます (ping を考えてください)。これがidle_test_period目的です。

timeoutは、接続がしばらくチェックアウト (使用) されておらず、プールに よりも多くの接続が含まれているため、プールがプールから接続を削除するまでの期間c3pO.min_sizeです。

于 2012-04-16T14:38:50.100 に答える