第一次用c3p0,小白了。
现象:
不定期出现以下异常:
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
分享到:
相关推荐
总的来说,C3P0作为一款成熟的数据库连接池,对于Java开发者来说,是一个值得信赖的工具,可以帮助我们更有效地管理和使用数据库连接,提升应用程序的性能和可靠性。在实际项目中,根据具体需求合理配置C3P0,可以更...
MySQL是一种广泛使用的开源关系型数据库管理系统,而C3P0是一个开放源代码的JDBC连接池,它实现了数据源和JNDI绑定,提供了一种数据库连接管理的方式,可以提高数据库连接的效率和性能。 在这个主题中,我们主要...
java语言连接Mysql数据库。通过Eclipse集成开发工具,编写java类文件,实现JDBC连接。 通过c3p0连接数据库的三种方法,包括xml文件、properties文件。
在这个场景中,我们将深入探讨如何使用C3P0连接池来与MySQL数据库进行交互,并结合log4j进行日志记录。 首先,要使用C3P0,你需要在项目中引入相应的依赖。在Maven项目中,可以在pom.xml文件中添加以下依赖: ```...
Java C3P0连接MySQL数据库是Java开发中常见的数据库连接池技术,用于提高数据库操作的效率和性能。C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。下面我们将详细探讨这个...
本文主要讲述了在MySQL数据库服务器下使用C3P0连接池的配置,解决了连接池的问题,并提供了详细的解决方案。 一、概述 在开发项目时,笔者遇到了一些问题,即Tomcat服务器与MySQL数据库之间使用第三方C3PO连接池,...
开源数据库连接池c3p0是一款广泛应用于Java后端开发中的数据库连接管理工具,它能够有效地管理和优化数据库连接,提高应用的性能和响应速度。c3p0的主要功能包括连接池的创建、维护以及自动回收资源,使得多个并发...
在本压缩包“数据库连接池C3P0.zip”中,包含了C3P0数据库连接池的相关jar包以及配置文件,用于帮助开发者集成到他们的Java应用中,特别是与MYSQL数据库配合使用。 C3P0的主要特性包括: 1. **连接池管理**:C3P0...
C3P0是一个开源的Java数据库连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。在Java应用程序中,数据库连接池扮演着非常重要的角色,它能够有效地管理数据库连接,提高系统性能,减少数据库资源...
DBCP(Apache Commons DBCP)和C3P0是两种常见的开源数据库连接池实现,它们允许开发者有效地管理和重用数据库连接,避免了每次请求数据库时创建新的连接,从而降低了系统的资源消耗。 DBCP,全称为Apache Commons ...
这里我们关注的是三个核心组件:C3p0、Oracle数据库连接驱动以及MySQL数据库连接驱动。这些组件都是Java开发中常见的库,用于建立和管理数据库连接。 首先,让我们深入了解C3p0。C3p0是一个开源的JDBC连接池,它...
博文链接:https://wxinpeng.iteye.com/blog/203088
**C3P0数据库连接池详解** C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。C3P0的主要功能包括数据库连接的自动获取与释放、连接池的管理以及异常处理等,这些特性有助于...
**c3p0数据库连接池**是用于管理数据库连接的一种高效、可靠的开源工具,它能够有效地提高应用程序处理数据库的能力,避免频繁地创建和关闭数据库连接,从而减少系统资源的消耗,提升系统的整体性能。c3p0是Mysql AB...
数据库连接池是一种资源管理技术,它预先创建并维护一定数量的数据库连接,当应用需要时,可以从池中获取连接,使用完毕后归还而不是直接关闭,从而减少了频繁创建和销毁连接的开销。在.NET Core中,对于MySQL数据库...
总结起来,JDBC+C3P0的组合提供了一种高效、可扩展的数据库连接池解决方案,尤其适用于大型的、高并发的Web应用程序。合理配置C3P0,可以显著提升系统的性能,同时降低数据库连接管理的复杂性。
**c3p0数据库连接池**是Java应用中广泛使用的第三方数据库连接管理工具,它能够有效地管理和优化数据库连接,提高应用程序的性能和效率。c3p0库通过提供连接池功能,使得数据库连接可以被多个并发请求共享,避免了...
1. **连接池管理**:C3P0可以创建并维护一定数量的数据库连接,当应用程序需要时,可以从连接池中获取连接,用完后归还,而不是每次使用都创建新的连接,这大大减少了数据库连接的创建和销毁开销。 2. **自动检测与...
C3P0是一种开源的Java连接池实现,它提供了对JDBC数据库连接的管理,能够有效地提高数据库操作的性能和稳定性。在这个"C3P0方式实现对MySQL数据库的操作案例"中,我们将深入探讨如何利用C3P0库来实现对MySQL数据库的...
我们现在一般网站都是利用的MySQL数据库搭建网站的,但是在网上看到很多网友吐槽数据库连接不上的问题,现在我就结合相关资料向提出一些我个人的见解,希望对大家解决问题有帮助。 一般MySQL连接不上,可能有两大...