/ /接続プールに欠けているパラメータは何ですか? - 休止状態、接続プール

接続プーリングで欠落しているパラメータは何ですか? - 休止状態、接続プール

  <property name="connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>

<property name="c3p0.max_size">100</property>
<property name="c3p0.idleConnectionTestPeriod">300</property>
<property name="c3p0.acquire_increment">1</property>
<property name="c3p0.idle_test_period">100</property> <!-- seconds -->
<property name="c3p0.max_statements">0</property>
<property name="c3p0.min_size">10</property>
<property name="c3p0.timeout">100</property> <!-- seconds -->

これはhibernate.cfg.xmlの設定です。 Hibernate 3.2.5とc3p0 0.9を使用しています。私はこの設定で見逃したことを知りません。数回要求した後、接続が最大プールサイズに達して空きリソースを待っていることを表示します。 足りない部分を見つけるのを手伝ってください。

回答:

回答№1は2

私は以下の設定を使用しています、そしてそれは長期テストで問題なく動作しています: (私のデータソースはspringで設定されていますが、とにかくc3p0のプロパティを見ることができます)

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass" value="com.microsoft.sqlserver.jdbc.SQLServerDriver" />
<property name="jdbcUrl" value="${database.url}" />
<property name="user" value="${database.login}" />
<property name="password" value="${database.password}" />
<property name="minPoolSize" value="3" />
<property name="maxPoolSize" value="100" />
<property name="maxStatements" value="1100" />
<property name="maxStatementsPerConnection" value="120" />
<property name="checkoutTimeout" value="5000" />
<property name="idleConnectionTestPeriod" value="60" />
</bean>

しかし、私はあなたの問題は構成ではないと思います。すべての接続がプールに返されるわけではないので、しばらくするとプールは空になります。