数据库连接池

HTTP Status 500 - Could not open connection
type Exception report
message Could not open connection
description The server encountered an internal error that prevented it from fulfilling this request.
exception
org.hibernate.exception.GenericJDBCException: Could not open connection
org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:54)
......
......
 
 
root cause
java.sql.SQLException: An attempt by a client to checkout a Connection has timed out.
com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:106)
com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:65)
com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:527)
com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getConnection(AbstractPoolBackedDataSource.java:128)
......
......
 
 
 
root cause
com.mchange.v2.resourcepool.TimeoutException: A client timed out while waiting to acquire a resource from com.mchange.v2.resourcepool.BasicResourcePool@6df3d083 -- timeout at awaitAvailable()
com.mchange.v2.resourcepool.BasicResourcePool.awaitAvailable(BasicResourcePool.java:1317)
com.mchange.v2.resourcepool.BasicResourcePool.prelimCheckoutResource(BasicResourcePool.java:557)
com.mchange.v2.resourcepool.BasicResourcePool.checkoutResource(BasicResourcePool.java:477)
com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:525)
com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getConnection(AbstractPoolBackedDataSource.java:128)
org.hibernate.service.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:141)
........
........

多次操作数据库后,会报出以上 could not open connection 错误,原因为没有配置数据库的连接池的最大最小连接数。h<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">

    <property name="driverClass" value="${jdbc.driverClass}"></property>
    <property name="jdbcUrl" value="${jdbc.jdbcUrl}"></property>
    <property name="user" value="${jdbc.user}"></property>
    <property name="password" value="${jdbc.password}"></property>
    <property name="maxPoolSize" value="100"></property>
    <property name="minPoolSize" value="20"></property>
    <property name="checkoutTimeout" value="120"></property>
</bean>

以上是在spring中配置的代码,也可以放在properties文件中。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Hadoop实操

在同时使用Hive+Sentry,因HMS死锁导致的高并发写入工作负载时,查询速度缓慢或者停滞

865
来自专栏乐沙弥的世界

使用CRM方式管理heartbeat

1、在heartbeat v2之后的版本,可以将haresources方式管理的资源转化为基于CIB方式进行管理 2、使用CRM(CIB)管理,需要配置ha...

734
来自专栏Laoqi's Linux运维专列

Nginx+Tomcat实现动静分离、负载均衡

4015
来自专栏散尽浮华

Linux下IP SAN共享存储操作记录

一、简单介绍 SAN,即存储区域网络(storage area network and SAN protocols),它是一种高速网络实现计算机与存储系统之间的...

5867
来自专栏乐沙弥的世界

rman 还原归档日志(restore archivelog)

     听说过还原(restore)数据库,表空间及数据库文件,使用归档日志恢复(recover)数据库,表空间,数据库文件。咦,还有还原归档日志这一说法呢?...

1044
来自专栏AhDung

【手记】磕死移动硬盘的损坏分区

- 插上后在【我的电脑】里要好一会才出现该分区(这是win2k8r2,XP下直接不会出现)

942
来自专栏乐享123

What Do Cryptic Github Comments Mean?

1294
来自专栏Android Note

Android—Room 数据库迁移(Migration)

1441
来自专栏乐沙弥的世界

设置 Oracle 监听器密码(LISTENER)

--================================== -- 设置 Oracle 监听器密码(LISTENER) --===========...

873
来自专栏Theo Tsao

Ionic3学习笔记(七)Storage

Storage可以很容易的存储键值对和JSON对象。Storage在底层使用多种存储引擎,根据运行平台选择最佳的存储方式。 当运行在Native模式时,Stor...

904

扫码关注云+社区