首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

C3P0 有关问题

2012-07-24 
C3P0 问题?? property namedriverClass value${jdbc.driverClass} /?? property namejdbcUrl

C3P0 问题
?? <property name="driverClass" value="${jdbc.driverClass}" />
?? <property name="jdbcUrl" value="${jdbc.jdbcUrl}" />
?? <property name="user" value="${jdbc.user}" />
?? <property name="password" value="${jdbc.password}" />
?? <property name="minPoolSize" value="${jdbc.miniPoolSize}" />
?? <property name="maxPoolSize" value="${jdbc.maxPoolSize}"/>??
?? <property name="initialPoolSize" value="${jdbc.initialPoolSize}"/>
?? <property name="maxIdleTime" value="${jdbc.maxIdleTime}"/>
?? <property name="acquireIncrement" value="${jdbc.acquireIncrement}"/>
??
?? <property name="acquireRetryAttempts" value="${jdbc.acquireRetryAttempts}"/>
?? <property name="acquireRetryDelay" value="${jdbc.acquireRetryDelay}"/>
?? <property name="testConnectionOnCheckin" value="${jdbc.testConnectionOnCheckin}"/>
?? <property name="automaticTestTable" value="${jdbc.automaticTestTable}"/>
?? <property name="idleConnectionTestPeriod" value="${jdbc.idleConnectionTestPeriod}"/>
?? <property name="checkoutTimeout" value="${jdbc.checkoutTimeout}"/>

</bean>

?

+++++++++++

报错误:
APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks!

一般设置maxStatements=0解决该问题
但是:
把max_statements设置为0。
c3p0在同时关闭statement和connection的时候,或者关闭他们之间的时间很短的时候,有时候connection并没有被关闭,因为有些preparedstatement还在被cached住。这是c3p0的作者自己说的。
http://forum.hibernate.org/viewtopic.php?t=947246&highlight=apparent+deadlock+c3p0

C3P0增加以下配置信息:


//set to 'SELECT 1'??????
Connection test is often slow.

See "Configuring Connection Testing" in c3p0's docs for more information.



在使用c3p0作为连接池时,其中的一些配置参数需要修改。主要是maxIdleTime和idleConnectionTestPeriod。 MySQL默认是8小时(28800秒)后自动关闭已打开的连接,所以c3p0要在8小时内关闭不使用的连接,上面的2参数要小于28800秒。附上在 hibernate中配置c3p0的关键字。

c3p0-native property name hibernate configuration key
c3p0.acquireIncrement hibernate.c3p0.acquire_increment
c3p0.idleConnectionTestPeriod hibernate.c3p0.idle_test_period
c3p0.initialPoolSize not available -- uses minimum size
c3p0.maxIdleTime hibernate.c3p0.timeout
c3p0.maxPoolSize hibernate.c3p0.max_size
c3p0.maxStatements hibernate.c3p0.max_statements
c3p0.minPoolSize hibernate.c3p0.min_size

热点排行