Mysql服务器默认的“wait_timeout”是8小时,如果一个connection空闲超过8个小时,Mysql将自动断开该 connection,而C3P0并不知道该connection已经失效,如果这时请求connection 将会报异常。
可以在每次使用前判断connection是否有效就会避免这种异常。
解决的方法有3种:
增加wait_timeout的时间。
减少Connection pools中connection的lifetime。
测试Connection pools中connection的有效性。
当然最好的办法是同时综合使用上述3种方法,下面举个例子,假设wait_timeout为默认的8小时
C3P0增加以下配置信息:
//获取connnection时测试是否有效
testConnectionOnCheckin = true
//自动测试的table名称
automaticTestTable=C3P0TestTable
//set to something much less than wait_timeout, prevents connections from going stale
idleConnectionTestPeriod = 18000
//set to something slightly less than wait_timeout, preventing 'stale' connections from being handed out
maxIdleTime = 25000
//if you can take the performance 'hit', set to "true"
testConnectionOnCheckout = true
分享到:
相关推荐
MySQL的`wait_timeout`连接超时问题通常出现在长时间无操作的数据库连接上,服务器会自动关闭这些连接以释放资源。这种现象在应用中可能导致突然的数据通信中断,表现为“Communications link failure”等错误,提示...
总之,MySQL的连接超时问题主要是由`wait_timeout`参数引发的,解决方法包括但不限于调整MySQL服务器配置、使用连接池、更新应用程序代码以处理连接失效的情况,以及在使用ORM框架时,按照框架的文档配置相应的连接...
### 大量TIME_WAIT状态的连接解决方法 在Linux系统中,当服务器处理大量网络连接时,可能会遇到TIME_WAIT状态的连接过多导致的问题。TIME_WAIT是TCP连接的一个正常终止状态,但若数量过多则可能会影响到服务器性能...
在Java的Web开发中,尤其是在Spring框架下,C3P0是一个常用的数据库连接池组件,它能够有效地管理和优化数据库连接,提高系统性能,避免因为频繁创建和销毁数据库连接而造成的资源浪费。 C3P0的核心功能包括: 1. ...
然而,为了优化资源使用,MySQL配置了一个参数`wait_timeout`,这个参数定义了连接在空闲多长时间后会被自动关闭。当JavaEE应用中的数据库连接在超过这个设定的时间没有执行任何操作,MySQL服务器会断开这个连接,这...
2. `mchange-commons-java.jar`:这是MChange Commons Java库,C3P0依赖此库来处理一些通用的Java任务,例如配置解析和异常处理等。 引入这些jar包后,你需要进行相应的配置以启用C3P0连接池。常见的配置方式是在...
C3DResNet18_rgb_16F_kinetics_v1.pth
cascade_rcnn_dconv_c3-c5_r50_fpn_1x_20190125-dfa53166.pth深度学习公开模型文件。使用coco数据集训练。
<property name="hibernate.c3p0.timeout">300 <property name="hibernate.c3p0.idle_test_period">3000 ``` 以上配置表示最小连接数为5,最大连接数为20,每个连接的最大空闲时间为300秒,每3000秒检测一次连接...
JAVA小项目,测试C3P0和不使用数据库连接池的情况。 使用C3P0: 第1次执行花费时间为:14564 第2次执行花费时间为:4 第3次执行花费时间为:4 第4次执行花费时间为:6 第5次执行花费时间为:3 第6次执行花费时间为:2 第7次...
研究这些版本可以帮助我们了解c3po的演化过程和特定问题的解决方案。 4. **c3p0-0.9.1.src.zip**: 同样是c3po 0.9.1版本的源代码,但这次是以zip格式压缩。与gz格式相比,zip更常见于软件分发,因为它的解压工具...
<property name="hibernate.c3p0.timeout">1800 ``` - **作用**:指定连接池中空闲连接的最大存活时间。超过这个时间后,连接会被销毁。 ##### 3.5 hibernate.c3p0.max_statements - **含义**:定义连接池中每个...
### MySQL异常...通过适当调整MySQL服务器的`wait_timeout`配置或C3P0连接池的相关参数,可以有效地解决此类问题。在实际操作过程中,还需要根据具体的业务场景选择合适的配置方案,以达到最佳的效果。
标题 "七彩虹c3固件 CFFWPKG_C3_V1.0.0.3" 指的是针对七彩虹(Colorful)品牌C3型号设备的特定版本固件更新包。固件是设备硬件上的操作系统,负责控制硬件功能并提供与上层软件的接口。CFFWPKG_C3_V1.0.0.3可能是这...
C3预览工具是一款专为模型查看和预览设计的专业软件,主要应用于游戏开发和相关领域,特别是针对“魔域私服”这样的在线游戏...无论是对于“魔域私服”还是其他3D游戏项目,C3预览工具都是一个强大而实用的解决方案。
MySQL JDBC驱动是Java开发者在与MySQL数据库交互时不可或缺的一个组件。JDBC(Java Database Connectivity)是Java编程语言的标准API,用于连接Java应用程序和各种类型的数据库,包括MySQL。MySQL JDBC驱动,也称为...