zoukankan      html  css  js  c++  java
  • JDBCConnectionException: could not execute query,数据库连接池问题

      1、做了个后台编辑系统,上传到服务器后正常使用,但是第二天却出现了如下的问题,

        

      经过查询资料知道了是数据库连接池的问题。

      按照网上网友的说法,运行一个系统,测试没有问题,然后把本地时间更改到后天,再次运行就报这个错误了!(首先启动tomcat,打开其中的一个系统,比如students, 运行无误,可以登录系统,把系统时间设置为1天后,再次打开, 就出现了上面图片中的错    误,亲自试一下就是这样子滴,别忘了打开tomcat就OK)。

        Hibernate支持如下的连接池:
       DriverManagerConnectionProvider:代表由Hibernate提供的默认的数据库连接池
       C3P0ConnectionProvider:代表C3P0连接池
       ProxoolConnectionProvider:代表Proxool连接池
       DBCPConnectionProvider:代表DBCP连接池
       DatasourceConnectionProvider:代表在受管理环境中由容器提供的数据源

      默认连接池并不支持在分配一个连接时,测试其有效与否的功能,而C3P0、Proxool、DBCP都提供了这样的功能,正好可以解决上述问题,在这里我们使用c3p0来解决。

      在hibernate.cfg.xml文件里面加入如下的配置:

      

      <property name="hibernate.connection.provider_class">
        org.hibernate.connection.C3P0ConnectionProvider
      </property>

      <!-- 最大连接数 -->
      <property name="hibernate.c3p0.max_size">20</property>
      <!-- 最小连接数 -->
      <property name="hibernate.c3p0.min_size">5</property>
      <!-- 获得连接的超时时间,如果超过这个时间,会抛出异常,单位毫秒 -->
      <property name="hibernate.c3p0.timeout">120</property>
      <!-- 最大的PreparedStatement的数量 -->
      <property name="hibernate.c3p0.max_statements">100</property>
      <!-- 每隔120秒检查连接池里的空闲连接 ,单位是秒-->
      <property name="hibernate.c3p0.idle_test_period">120</property>
      <!-- 当连接池里面的连接用完的时候,C3P0一下获取的新的连接数 -->
      <property name="hibernate.c3p0.acquire_increment">2</property>
      <!-- 每次都验证连接是否可用 -->
      <property name="hibernate.c3p0.validate">true</property>

      <!--每*秒检查所有连接池中的空闲连接。Default: 0 -->
      <property name="c3p0.idleConnectionTestPeriod ">18000</property>
      <!--最大空闲时间,*秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0 -->
      <property name="c3p0.maxIdleTime">25000</property>

     

     想看c3p0更详细的说明可以到http://www.blogjava.net/sway/archive/2008/11/05/238860.html去
     
     
     
     
  • 相关阅读:
    Base64简介
    grafana+graphit安装笔记
    朋友圈里的格局
    设计模式值六大原则——接口隔离原则 (ISP)
    设计模式值六大原则——迪米特法则(LoD)也称为最少知识原则(LKP)。
    设计模式值六大原则——开闭原则(OCP)
    设计模式值六大原则——里氏替换原则(LSP)
    工厂模式
    JSON简介以及用法代码汇总
    sql where 1=1和 0=1 的作用
  • 原文地址:https://www.cnblogs.com/2589-spark/p/3680197.html
Copyright © 2011-2022 走看看