我正在使用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>
知道为什么吗?
答案 0 :(得分:2)
数据库服务器端的连接数也受到限制。据我所知,对于MySQL,默认的最大连接数为100。
另请参阅http://www.electrictoolbox.com/update-max-connections-mysql/了解MySQL。
答案 1 :(得分:1)
我认为你需要在Hibernate配置中设置连接池参数,因为c3p0.properties中的那些特定参数将被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