`
yyyyy5101
  • 浏览: 152538 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

c3p0 连接错误

阅读更多
昨天用hibernate配置了c3p0, 今天来了查看的时候 出现连接错误

hibernate配置文件:
<session-factory>
        <!--  <property name="dialect">org.hibernate.dialect.MySQLDialect</property>-->
        <property name="connection.url">jdbc:mysql://222.73.114.169:3306/hofd</property>
        <property name="connection.username">yang</property>
        <property name="connection.password">meJvdMm_ZA_3VT2Awa</property>
        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="myeclipse.connection.profile">role</property>
    	
    	<property name="hibernate.connection.provider_class">
            org.hibernate.connection.C3P0ConnectionProvider
        </property>
    	<property name="c3p0.min_size">5</property>
 		<property name="c3p0.max_size">30</property>  
 		<property name="c3p0.time_out">120</property> 
	 	<property name="c3p0.max_statement">50</property>
	 	<property name="testConnectionOnCheckout">true</property>
    </session-factory>


查找原因 : mysql隔一段时间会把连接自动断掉(默认8小时,在mysql中my.ini中加入wait_timeout=“”设置时间),当连接断掉时,c3p0不知道连接已经断开,仍把失效的连接返回,所以出现异常. <property name="c3p0.time_out">120</property> 设置超时时间,超过了抛出异常。
造成的后果:  当mysql连接断开,c3p0配置的连接超时时间还没超过时,会一直报异常
              当mysql连接断开,c3p0配置的连接超时时间超时时,第一次访问有异常,再次访问正常。

解决办法:
    1.增加wait_timeout的时间。
    2.减少Connection pools中connection的lifetime。 即timeout属性
    3.测试Connection pools中connection的有效性:
         加入代码: <property name="testConnectionOnCheckout">true</property>或
                   <property name="hibernate.c3p0.validate">true</property>
分享到:
评论

相关推荐

    c3p0连接池所需要用到的2个jar包

    C3P0连接池是Java开发中常用的数据库连接池组件,它可以帮助开发者高效管理数据库连接,提高系统的性能和稳定性。本压缩包包含了两个关键的JAR文件:mchange-commons-java-0.2.19.jar和c3p0-0.9.5.5.jar,它们是C3P0...

    C3P0连接池jar包.rar

    C3P0连接池是一个开源的Java数据库连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。在Java应用程序中,数据库连接的创建和销毁是耗时操作,而连接池则可以有效地管理这些连接,避免频繁地创建和...

    C3P0连接池jar包

    6. **异常处理**:C3P0具有完善的异常处理机制,当数据库连接出现问题时,可以及时反馈错误信息,并尝试恢复连接。 7. **JNDI集成**:C3P0可以被注册到JNDI服务中,使得应用可以通过JNDI查找来获取数据源,方便了...

    C3p0连接池问题

    C3p0连接池是Java应用中常用的数据库连接池组件,它通过管理数据库连接,提高应用程序的性能和效率。在处理大量并发请求时,数据库连接池可以有效地避免频繁地创建和销毁数据库连接,从而降低系统资源消耗。这篇博客...

    c3p0数据库连接池

    **c3p0数据库连接池详解** c3p0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。c3p0的主要功能是管理数据库连接,通过复用已存在的连接来提高数据库访问效率,减少系统资源...

    C3P0连接池配置.doc

    C3P0是一个开源的JDBC连接池,它与Hibernate一起发布,并提供了实现了JDBC3和JDBC2扩展规范的Connection和Statement池的DataSources对象。C3P0连接池的配置涉及到多个方面,用于优化数据库连接的创建、管理和维护。 ...

    C3P0连接池jar包.zip

    C3P0连接池是一个广泛使用的开源数据库连接池组件,主要功能是管理和优化数据库连接,以提高应用程序的性能和效率。在Java应用中,尤其是在Web应用程序中,C3P0可以提供多线程环境下的数据库连接共享,避免了频繁...

    C3P0连接池jar包(完整版).zip

    2. **连接自动测试**:在连接分配给应用程序前,C3P0会进行有效性检查,确保分配的连接是可用的,防止因数据库连接异常导致的程序错误。 3. **并发控制**:C3P0提供了线程安全的连接管理机制,支持多线程环境下的...

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

    C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。在这个场景中,我们将深入探讨如何使用C3P0连接池来与MySQL数据库进行交互,并结合log4j进行日志记录。 首先,要使用C3P0...

    C3P0-jar包和依赖包.zip

    - **异常处理**:C3P0库对数据库操作的异常进行了封装,提供了更友好的错误处理方式。 - **池化对象(PoolableConnection, PooledConnection)**:C3P0通过池化数据库连接,减少了每次请求新连接时的开销,提高了...

    Hibernate+c3p0连接池SQLServer 2000

    本文将重点探讨Hibernate与c30p连接池在SQL Server 2000中的配置方法及如何解决可能出现的连接错误问题。 #### 二、问题描述 在配置Hibernate与c3p0连接池时,可能会遇到诸如`ConnectionReset! Broken pipe!`等...

    ibatis-2.3.0.677增加对c3p0连接池的支持

    标题 "ibatis-2.3.0.677增加对c3p0连接池的支持" 描述了MyBatis框架的一个更新,其中包含了对c3p0数据库连接池的集成。MyBatis是一个轻量级的Java持久层框架,它允许开发者将SQL语句直接嵌入到Java代码中,提供了比...

    C3P0的jar包

    7. **异常处理**:当连接池中没有可用连接或者遇到其他错误时,C3P0会抛出相应的异常,帮助开发者快速定位问题。 8. **与其他框架的集成**:C3P0可以与许多流行的Java Web框架,如Spring、Hibernate等无缝集成,...

    c3p0-0.9.1.2.zip

    在C3P0 0.9.1.2这个版本中,可能包含了一些错误修复、性能优化或新特性。不过,由于没有具体的变更日志,我们无法详细列举这些变化。通常,更新到新版本是为了获取更好的稳定性和兼容性,或者利用新引入的功能。 C3...

    C3P0连接池参数配置.doc

    C3P0 连接池是 Java 应用中广泛使用的数据库连接管理工具,它能够有效地管理和维护数据库连接,提高应用程序的性能和稳定性。在 C3P0 配置中,有多个关键参数用于定制连接池的行为。以下是对这些参数的详细解释: 1...

    C3P0错误APPARENT DEADLOCK 解决根本问题

    网上传言C3P0是因为本身的BUG问题,然而今天我遇到这个问题并解决了,结果发现并不是。通过配置c3p0.maxStatements=0 这种方案只是治标不治本,或者干脆无效。我上传的解决方案肯定能解决这个问题的根本原因。出现...

    c3p0-0.9.5.2(含配置文件)连接池.zip

    这是c3p0-0.9.5.2(含配文件)连接池技术的资源,里面含c3p0-0.9.5.2.jar包,这是c3p0数据库连接池的jar包,mchange-commons-java-0.2.11.jar是数据库连接池的依赖包,导入时,要一同导入,否则会产生错误。...

    c3p0-0.9.2-pre1

    1. **异常处理**:c3p0提供了丰富的异常类,如`C3P0Exception`,帮助开发者识别和处理连接池相关的错误。 2. **监控**:c3p0内置了统计和监控机制,可以通过`getStatistics()`获取池的状态信息,也可以通过JMX...

    C3P0连接池jar包,mysql-connector-java-5.1.37,druid连接池jar包,commons-dbu

    本文将详细介绍三个重要的组件:C3P0连接池、MySQL的JDBC驱动(mysql-connector-java-5.1.37)以及Druid连接池,以及它们在Java中的应用和作用。 首先,C3P0是一个开源的JDBC连接池,全称为ComMchange V2 C3P0。它...

Global site tag (gtag.js) - Google Analytics