当前位置: 代码迷 >> Oracle开发 >> c3p0 Timeout 超时有关问题 100分
  详细解决方案

c3p0 Timeout 超时有关问题 100分

热度:581   发布时间:2016-04-24 06:39:28.0
c3p0 Timeout 超时问题 100分
最近遇到一个问题,用的存储过程,spring负责调用存储过程,但在处理时,c3p0报出一个错误,大概如下:
—————错误信息开始———————
Caused by: com.mchange.v2.resourcepool.TimeoutException: A client timed out while waiting to acquire a resource from com.mchange.v2.resourcepool.BasicResourcePool@5e7663 -- timeout at awaitAvailable()
............
..........


—————————错误信息结束—————————————

________spring中的c3p0配置如下_________
<!-- 配置数据源 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass" value="oracle.jdbc.driver.OracleDriver" />
<property name="jdbcUrl" value="${db.jdbcUrl}" />
<property name="user" value="${db.user}" />
<property name="password" value="${db.hims.password}" />
<!-- 连接池中保留的最大连接数 -->
<property name="maxPoolSize" value="50" />
<!-- 连接池中保留的最小连接数 -->
<property name="minPoolSize" value="10" />
<!-- 初始化时获取的连接数 initialPoolSize>=minPoolSize && initialPoolSize<=maxPoolSize -->
<property name="initialPoolSize" value="15" />
<!-- 最大空闲时间(秒) -->
<property name="maxIdleTime" value="1800" />
<!-- 每隔20秒检查连接池中的空闲连接 -->
<property name="idleConnectionTestPeriod" value="20" />
<!-- global PreparedStatement cache -->
<property name="maxStatements" value="0" />
<!-- 连接池用完时,等待获取新连接的时间 (毫秒) -->
<property name="checkoutTimeout" value="30000" />
</bean>
____________________
是不是存储过程处理的数据量太大引起的?而且问题不是毕现,偶尔出现,一直没有找到原因,一出现这个异常,服务器就宕了,访问不了了。在网上也找了一些方案,没用,所以在此建议,感激不尽!!!
------解决方案--------------------
http://blog.csdn.net/jbxiaozi/article/details/7465045
希望能帮到你。
c3p0用过一次,好亲切的感觉
------解决方案--------------------
是否数据库连接池里的连接没有及时关闭?
  相关解决方案