`
thjjava
  • 浏览: 27050 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

mysql重启后,防止c3p0丢失连接数

 
阅读更多

用了很久的c3p0,但是每当MySQL数据库重启或者出现网络原因后,总是出现下面现象:

出现以下异常:
org.springframework.dao.DataAccessResourceFailureException: could not execute query
...
...
...
** BEGIN NESTED EXCEPTION **

com.mysql.jdbc.CommunicationsException
MESSAGE: Communications link failure due to underlying exception:

** BEGIN NESTED EXCEPTION **

java.net.SocketException
MESSAGE: Connection reset by peer: socket write error

STACKTRACE:

java.net.SocketException: Connection reset by peer: socket write error
...
...

直接原因:
直接原因不明,但是可以通过其他方法再现。

再现方法:
正常启动mysql和tomcat下的应用。然后重启mysql,访问应用,上述异常再现。

根本原因:
目前使用的dbcp连接池在丢失数据库连接后无法重新连接。

解决:
使用c3p0连接池。
实际上配置文件中已经配置了c3p0,但是并没有启动,即使配置了c3p0的日志文件,里面却没有内容。
找了很久,tmd终于找到原因了,加上下面的内容才能启动。
<property name="connection.provider_class">
    org.hibernate.connection.C3P0ConnectionProvider
</property>

顺便记下c3p0的日志输出方法:
log4j.logger.com.mchange.v2.resourcepool.BasicResourcePool=DEBUG,A5


注:以上内容是从一个大神的博客(http://tjmljw.iteye.com/blog/1404686)中摘抄过来的,方便以后出现同类问题时忘记怎么解决
分享到:
评论

相关推荐

    c3p0+mysql驱动jar包

    在Java编程环境中,数据库连接管理是一项关键任务,而c3p0和MySQL驱动程序是实现这一目标的重要组件。本文将详细介绍这两个组件以及如何在项目中使用它们。 c3p0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定...

    C3P0连接池配置需要的jar包

    C3P0连接池是Java应用中常用的数据库连接池组件,它允许程序在不关闭物理连接的情况下,管理和重用数据库连接,从而提高了应用程序的性能和效率。C3P0库依赖于其他几个JAR包来实现其功能,包括`c3p0-0.9.2.1.jar`、`...

    c3p0数据库连接池

    **c3p0数据库连接池**是用于管理数据库连接的一种高效、可靠的开源工具,它能够有效地提高应用程序处理数据库的能力,避免频繁地创建和关闭数据库连接,从而减少系统资源的消耗,提升系统的整体性能。c3p0是Mysql AB...

    java c3p0连接mysql数据库

    Java C3P0连接MySQL数据库是Java开发中常见的数据库连接池技术,用于提高数据库操作的效率和性能。C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。下面我们将详细探讨这个...

    c3p0连接池jar包

    4. 连接池扩展性:C3P0支持多种数据库驱动,如MySQL、Oracle、PostgreSQL等,只需提供对应的JDBC驱动即可使用。 5. 配置灵活性:C3P0提供大量的可配置参数,用户可以根据实际需求调整,例如初始化连接数、最大连接...

    c3p0-0.9.5.2及配置文件和mysql8驱动包.zip

    在Java开发中,数据库连接管理是一项重要的任务,为了...总之,这个压缩包提供了一个完整的解决方案,帮助开发者快速集成c3p0连接池并连接到MySQL 8.x数据库,无需自己去分别下载和配置各个组件,大大简化了开发流程。

    c3p0 mysql 例子

    【c3p0 MySQL 例子】是一个关于在Eclipse环境中使用c3p0连接池与MySQL数据库进行数据操作的实践教程。c3p0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。这个例子旨在帮助...

    MySQL8.0与C3P0连接池jar包.rar

    在MySQL 8.0中使用C3P0,需要添加对应的jar包到项目的类路径中,这通常包括`mysql-connector-java.jar`(MySQL驱动)和`c3p0-0.9.5.2.jar`(C3P0连接池)。在配置文件中,我们需要指定数据库的相关信息,如数据库URL...

    c3p0 连接池 jar 文件合集(mysql)

    在你的Java代码或配置文件(如`c3p0.properties`或`application.properties`)中,设置C3P0的属性,如最大连接数(maxPoolSize)、最小连接数(minPoolSize)、初始化连接数(initialPoolSize)等。 3. 初始化C3P0...

    数据库连接池c3p0jar包

    C3P0是一个开源的Java连接池实现,它提供了一种灵活且功能强大的数据库连接管理方式。在本文中,我们将深入探讨C3P0连接池的基本概念、工作原理以及如何在Java项目中配置和使用。 **C3P0简介** C3P0是由David Syer...

    c3p0配置mysql8.0.21的3个jar包

    3. **使用C3P0数据源**:在需要的地方,通过数据源获取数据库连接,并在使用完毕后归还连接。 ```java import javax.sql.DataSource; import java.sql.Connection; import java.sql.SQLException; public class ...

    c3p0连接mysql8.0.11驱动打包

    执行`mvn clean package`命令后,你会得到一个包含所有依赖的fat JAR,这样在运行时就无需再单独提供MySQL和C3P0的驱动了。 总结,C3P0连接池与MySQL 8.0.11的整合主要涉及以下步骤:引入相关依赖、配置数据源参数...

    c3p0-0.9.5.2及依赖文件和mysql-connector

    通过数据源获取到的连接,实际上是c3p0从连接池中分配的,使用完毕后,应将其归还给连接池,以便重复使用。 `c3p0-oracle-thin-extras-0.9.5.2.jar`虽然在文件列表中,但其命名表明它是针对Oracle数据库的特殊扩展...

    Java使用C3P0连接MySQL数据库查询

    在这个场景中,我们将深入探讨如何使用C3P0连接池来与MySQL数据库进行交互,并结合log4j进行日志记录。 首先,要使用C3P0,你需要在项目中引入相应的依赖。在Maven项目中,可以在pom.xml文件中添加以下依赖: ```...

    MySQL数据库服务器下C3P0连接池的配置.pdf

    查阅相关文档后发现,造成报错的原因是:MySQL的默认设置为当一个连接的空闲时间超过8小时后,MySQL就会断开该连接,而C3P0连接池则以为被断开的连接依然有效。在这种情况下,如果客户端代码向C3P0连接池请求连接的...

    JDBC连接MySQL数据库,c3p0连接数据库

    java语言连接Mysql数据库。通过Eclipse集成开发工具,编写java类文件,实现JDBC连接。 通过c3p0连接数据库的三种方法,包括xml文件、properties文件。

    C3P0数据库连接池

    2. **C3P0配置**:C3P0的配置可以通过XML或者Java代码进行,主要包括初始化连接数、最大连接数、最小连接数、测试连接是否有效的SQL语句等。 ### 二、C3P0连接MySQL 连接MySQL数据库时,C3P0需要以下关键配置: 1...

    c3p0连接池工具

    - **空闲连接回收**:当连接长时间未使用,c3p0会自动回收这些空闲连接,防止资源浪费。 - **自动扩缩容**:根据应用的负载情况,c3p0可以动态调整连接池的大小。 3. **c3p0配置** - **基本配置**:包括数据库...

    c3p0 重新自动连接c3p0 重新自动连接c3p0 重新自动连接c3p0 重新自动连接

    - **调整 c3p0 的 maxIdleTime 和 idleConnectionTestPeriod 参数**:确保这些参数设置得当,以便c3p0能够在MySQL关闭空闲连接之前检测到并重新创建连接。 #### 结论 c3p0作为一款优秀的数据库连接池组件,其自动...

    C3P0连接池配置

    **C3P0连接池配置详解** C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。C3P0的主要特点是轻量级、高效且稳定,广泛应用于各种Java Web应用中。在本文中,我们将深入探讨...

Global site tag (gtag.js) - Google Analytics