zoukankan      html  css  js  c++  java
  • java数据库连接池proxool介绍及mysql8小时断开连接问题的说明

    Proxool是一种Java数据库连接池技术。是sourceforge下的一个开源项目,这个项目提供一个健壮、易用的连接池
    最为关键的是这个连接池提供监控的功能,方便易用,便于发现连接泄漏的情况。
    目前是和DBCP以及C3P0一起,最为常见的三种JDBC连接池技术
    日前,Hibernate官方宣布由于Bug太多不再支持DBCP,而推荐使用 Proxool或C3P0。
     
    目前最新的版本为0.91版,可从官网下载最新版本http://proxool.sourceforge.net
    把proxool.jar和proxool-cglib.jar放入你要配置的项目的lib目录
     
    可以在proxool.xml 中配置,在web.xml中配置初始化servlet,在web容器加载的时候自动加载配置文件,然后applicationContext.xml中进行关联
     
     
    如果是用的spring框架,在spring-config.xml中配置也可以。
     
    在spring中的配置方法如下: beans 标签下增加:
    <bean id="dataSource" class="org.logicalcobwebs.proxool.ProxoolDataSource">
      <property name="alias" value="proxoolDataSource" />
      <property name="driver" value="com.mysql.jdbc.Driver" />
      <property name="driverUrl" value="jdbc:mysql://127.0.0.1:3306/databasename" />
      <property name="user" value="root" />
      <property name="password" value="root" />
      <property name="maximumConnectionCount" value="40" />
      <property name="minimumConnectionCount" value="5" />
     </bean>
     
     
    在应用中实时监控连接池的配置web.xml
    <servlet>
    <servlet-name>adminProxool</servlet-name>
    <servlet-class>org.logicalcobwebs.proxool.admin.servlet.AdminServlet</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>adminProxool</servlet-name>
    <url-pattern>/admin/proxool</url-pattern>
    </servlet-mapping>
    访问http://localhost:8080/项目名称/admin/proxool即可看到页面
     
     
    另外,mysql5.0以后,会出现8小时后自动断开连接的情况。因为我们使用了连接池的技术,这样在web系统初始化的时候,会自动创建很多歌连接放到
    连接池中,但是这些连接只有8小时不使用的话会自动回收和做废,这样这个时候使用该连接进行数据库操作的时候,操作将无法执行。
    解决方法如下:
    在配置文件中增加:
    <!-- 自动检查连接是否断掉开关 -->
    <test-before-use>true</test-before-use>
    <!-- 自动检查连接是否断的测试sql语句 -->
    <house-keeping-test-sql>select now();</house-keeping-test-sql>

  • 相关阅读:
    git
    Java命令行参数解析
    Java调用本地命令
    理解JavaScript继承
    python selenium自动化(三)Chrome Webdriver的兼容
    python selenium自动化(二)自动化注册流程
    python selenium自动化(一)点击页面链接测试
    使用python selenium进行自动化functional test
    JUnit中测试异常抛出的方法
    爬坑 http协议的options请求
  • 原文地址:https://www.cnblogs.com/superch0054/p/4010071.html
Copyright © 2011-2022 走看看