`
阅读更多

mysql 8 小时默认就断开了不适用的连接。但是c3p0  默认 连接是不断开的。所以就会8小时后不访问项目的话,第一次登陆汇报一下异常。

 

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed.

Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received from the server was 56,846,765 milliseconds ago.  The last packet sent successfully to the server was 56,846,766 milliseconds ago. is longer than the server configured value of 'wait_timeout'. You should consider either expiring and/or testing connection validity before use in your application, increasing the server configured values for client timeouts, or using the Connector/J connection property 'autoReconnect=true' to avoid this problem.

参考文档:

http://blog.sina.com.cn/s/blog_62cb15980102uzid.html

http://www.blogjava.net/Alpha/archive/2009/03/29/262789.html

http://www.cqmaple.com/201308/no-operations-allowed-after-connection-closed.html

 

最后贴出我的配置

 

<!-- 数据库链接池c3p0 -->
	<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
		<property name="driverClass" value="${jdbc.driverClassName}" />
		<property name="jdbcUrl" value="${jdbc.url}" />
		<property name="user" value="${jdbc.username}" />
		<property name="password" value="${jdbc.password}" />

		<property name="maxPoolSize" value="${c3p0.pool.size.max}" />
		<property name="minPoolSize" value="${c3p0.pool.size.min}" />
		<property name="initialPoolSize" value="${c3p0.pool.size.ini}" />
		<property name="acquireIncrement" value="${c3p0.pool.size.increment}" />
		
		<property name="testConnectionOnCheckin" value="${c3p0.pool.testConnectionOnCheckin}" /> 
		<!--因性能消耗大请只在需要的时候使用它。如果设为true那么在每个connection提交的时候都将校验其有效性。建议使用idleConnectionTestPeriod或automaticTestTable等方法来提升连接测试的性能。Default: false -->
		<!--<property name="testConnectionOnCheckout" value="true" />  -->
<!-- 		<property name="automaticTestTable" value="${c3p0.pool.automaticTestTable}"></property> -->
		<property name="preferredTestQuery"><value>SELECT 1</value></property>
  		<property name="idleConnectionTestPeriod" value="${c3p0.pool.idleConnectionTestPeriod}" />
  		<property name="maxIdleTime" value="${c3p0.pool.maxIdleTime}" />
	</bean>
#When not using JMX, eliminate many times load c3p0 warnings
com.mchange.v2.c3p0.management.ManagementCoordinator=com.mchange.v2.c3p0.management.NullManagementCoordinator

c3p0.pool.size.max=20
c3p0.pool.size.min=10
c3p0.pool.size.ini=5
c3p0.pool.size.increment=3

c3p0.pool.testConnectionOnCheckin=true
#c3p0.pool.automaticTestTable=c3p0automaticTestTable
c3p0.pool.idleConnectionTestPeriod=1800
c3p0.pool.maxIdleTime=25000

  

 

 

 

分享到:
评论

相关推荐

    数据库连接池c3p0jar包

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

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

    c3p0作为一款优秀的数据库连接池组件,其自动重连机制在处理数据库连接管理方面具有很大的优势。通过合理配置c3p0的各项参数,可以有效避免因数据库连接问题而导致的应用程序异常中断,从而保障系统的稳定运行。在...

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

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

    C3P0数据库连接池

    **C3P0数据库连接池** 是一个开源的Java数据库连接池组件,它为应用程序提供了一种管理和控制数据库连接的方法,以实现高效、稳定的数据库访问。C3P0的主要目标是提高应用程序的性能,减少数据库资源的消耗,通过在...

    03-数据库连接池驱动_数据库连接池;驱动_

    本资源"03-数据库连接池驱动"包含了三种常用的数据库连接池驱动:C3P0、Druid和DBCP,它们都是为了优化数据库连接管理和复用而设计的。 首先,C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3...

    原生servlet+C3P0数据库连接池搭建的商城系统.zip

    这个系统利用了Servlet技术作为后端处理核心,结合MySQL数据库存储数据,并通过C3P0连接池管理数据库连接,优化资源利用率。下面我们将详细探讨这些关键知识点。 **Servlet技术** Servlet是Java EE平台中用于扩展...

    C3P0连接池配置

    在本文中,我们将深入探讨C3P0连接池的配置,以便更好地理解和优化数据库连接管理。 首先,我们需要了解C3P0的基本配置参数。以下是一些关键参数及其作用: 1. **minPoolSize**:这是初始化时连接池中的最小连接数...

    c3p0连接池

    **c3p0连接池详解** c3p0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。c3p0由Miquel Delgado开发,其核心功能在于提高了数据库连接的效率和管理,通过池化数据库连接来减少...

    c3p0连接数据库及jndi链接例子

    C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。在Java应用程序中,尤其是在企业级应用中,数据库连接池是不可或缺的一部分,因为它可以有效地管理和复用数据库连接,从而...

    c3p0连接池jar

    C3P0是一个开源的Java连接池,全称为Comming Soon Connection Pool,它提供了一种在JDBC数据库连接上的管理机制,以提高应用程序的性能和效率。C3P0是基于JDBC的数据源实现,允许应用程序通过配置参数来优化数据库...

    c3p0、proxool、dbcp数据库连接池

    本文将深入探讨三个常用的数据库连接池:C3P0、DBCP和Proxool,以及如何结合Log4j2进行日志记录。 ### C3P0 C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。C3P0的核心...

    c3p0-0.9.5.2连接池所需jar包

    **c3p0-0.9.5.2 连接池详解** c3p0 是一个开源的 JDBC 连接池,它实现了数据源和 JNDI 绑定,支持 Jdbc3 规范和 J2EE 设计模式。在 Java 应用程序中,c3p0 提供了数据库连接的高效管理,通过复用已存在的连接来减少...

    java数据库连接池源码及使用示例

    在实际项目中,常见的Java连接池实现有C3P0、DBCP、HikariCP和Apache DBCP2等。每个都有其特点和优势,例如HikariCP以其高性能和低延迟著称。而手写连接池虽然能帮助理解连接池的工作原理,但在生产环境中,通常推荐...

    C3P0连接池的jar包 C3P0连接池的jar包 C3P0连接池的jar包

    C3P0连接池是Java开发中常用的数据库连接池组件,它允许开发者高效地管理和复用数据库连接,提高系统的性能和稳定性。C3P0库是Mchange公司提供的开源产品,它提供了对JDBC连接的自动管理功能,包括连接创建、分配、...

    数据库连接池驱动程序包

    在这个“数据库连接池驱动程序包”中,包含了三种主流的连接池实现:C3P0、DBCP和Druid。这三种驱动程序各自有其特点和优势,下面将详细阐述它们的原理、使用方法以及适用场景。 1. C3P0 C3P0是一个开源的JDBC连接...

    C3P0连接池jar包

    C3P0数据库连接池是Java应用程序中广泛使用的数据库连接管理工具,它允许开发者更高效地管理和利用数据库连接,从而提高应用性能并降低资源消耗。C3P0库通过维护一个连接池,即预创建一定数量的数据库连接,来避免...

    c3p0连接池jar包及jdbc驱动 jar包

    C3P0是一款广泛应用于Java开发中的开源数据库连接池组件,它的全称是ComMchange V2 C3P0。连接池在软件开发中扮演着重要角色,它能有效地管理和复用数据库连接,提高系统性能,减少数据库资源的消耗。在Java应用中,...

    c3p0连接池jar包以及Spring对c3p0的依赖包

    C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。在Java应用程序中,数据库连接池扮演着重要的角色,它能有效地管理和复用数据库连接,提高系统性能,减少数据库资源的消耗...

    c3p0 demo jar

    【c3p0数据库连接池】是Java应用中广泛使用的第三方数据库连接管理工具,它能够有效地管理和优化数据库连接,提高应用程序的性能和稳定性。c3p0由Mchange公司开发,其全称是com.mchange.v2.c3p0,通过提供数据库连接...

    数据库连接池代码

    1. C3P0:开源的JDBC连接池,提供了强大的配置选项和异常处理机制。 2. DBCP (Apache Commons DBCP):Apache组织提供的基础连接池实现,基于Jakarta Pool框架。 3. HikariCP:高性能的连接池,设计目标是提供最快的...

Global site tag (gtag.js) - Google Analytics