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去
     
     
     
     
  • 相关阅读:
    [轉]推荐一个C#代码混淆器 .NET Reactor
    [转贴]什么是ORM
    十个极其有用的在线网站设计工具
    .NET Windows客户端程序在代理环境下的相关设置
    记4月28成都软件技术沙龙活动
    2010年仲夏成都.NET俱乐部活动——深度.NET
    在MOSS 2010上配置PDF的搜索【简译】
    在Windows 7中遇到android 模拟器出错,emulator: ERROR: unknown virtual device name的正确解决办法
    Visual Studio LightSwitch初体验和定位看法
    在.NET上进行线性代数等科学计算
  • 原文地址:https://www.cnblogs.com/2589-spark/p/3680197.html
Copyright © 2011-2022 走看看