2

Hibernate 3.4.0 GA と c3p0 0.9.0.4 を使用しています

maxPoolSize プロパティは 2000 に設定されていますが、作成される JDBC 接続の最大数は約 100、110 です (プログラムがさらに接続を必要とする場合でも)。

これは私の構成です:
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="com.mysql.jdbc.Driver" />
<property name="jdbcUrl" value="${jdbc.url}" />
<property name="user" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<property name="maxPoolSize" value="2000"/>
<property name="initialPoolSize" value="50"/>
<property name="minPoolSize" value="50"/>
<property name="acquireIncrement" value="3"/>
<property name="maxIdleTime" value="60"/>
</bean>

理由はありますか?

4

2 に答える 2

2

データベースサーバー側でも接続数が制限されます。私が覚えている限りでは、MySQL のデフォルトの最大接続数は 100 です。

MySQLについては、 http: //www.electrictoolbox.com/update-max-connections-mysql/も参照してください。

于 2013-01-30T09:26:09.233 に答える
1

c3p0.properties の特定のパラメーターは Hibernate によって上書きされるため、Hibernate 構成で接続プールのパラメーターを設定する必要があると思います。

Hibernate のプロパティ構成に以下を追加してみてください。

<property name="c3p0.acquire_increment">3</property>  
<property name="c3p0.max_size">2000</property> 
<property name="c3p0.min_size">50</property>

詳細については、次のリンクを参照してください: https://community.jboss.org/wiki/HowToConfigureTheC3P0ConnectionPool

于 2013-01-30T09:30:56.287 に答える