`
tomEnjoy
  • 浏览: 141881 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

数据库连接池proxool配置

阅读更多
公司里用的连接池都是自己写好了,封装起来的,做大型项目的时候,非常有用,但近段时间总是发现数据库连接过多,造成数据库连接压力过大,网站无法访问等 严重后果,我们做的网站主要是用于移动公司的后台,经常会处理很大"群集任务",找了很长时间,发现是程序里有很多打开的连接没有关闭,放回到连接池里 去,造成连接数不够的问题.

             后来上网上找了这个PROXOOL连接池插件,发现有自动KILL不活动的连接的功能.而且有VIEW方式查看连接情况,而且很多数据都是配置完成。决定在项目中试验一下。

          官方网址:http://proxool.sourceforge.net/    当前版本:proxool-0.9.0RC2

             1、下载proxool 地址:http://proxool.sourceforge.net
             2、共两个jar包:proxool-0[1][1].9.1.jar和proxool-cglib.jar;解压缩proxool-0.9.0RC2.zip,拷贝lib/proxool-0.9.0RC2.jar到web-info/lib      拷贝jdbc驱动到web-info/lib
             3、在web-info下建立文件:proxool.xml
<?xml version="1.0" encoding="UTF-8"?>
<something-else-entirely>
<proxool>
    <alias>Test</alias>
    <driver-url>jdbc:oracle:thin:@192.168.10.160:1521:orc1</driver-url>
    <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
    <driver-properties>
      <property name="user" value="test"/>
      <property name="password" value="testpass"/>
    </driver-properties>
    <maximum-connection-count>10</maximum-connection-count>
    <house-keeping-test-sql>select CURRENT_DATE</house-keeping-test-sql>
</proxool>
</something-else-entirely>
             4、在web.xml里新增如下:

<servlet>
      <servlet-name>proxoolServletConfigurator</servlet-name>
     <servlet-class>org.logicalcobwebs.proxool.configuration.ServletConfigurator</servlet-class>
     <init-param>
       <param-name>xmlFile</param-name>
       <param-value>WEB-INF/config/proxool.xml</param-value>
     </init-param>
     <load-on-startup>1</load-on-startup>
   </servlet>
<!-- proxool提供的管理监控工具,可查看当前数据库连接情况。如果运行不成功,请删除本行 -->
<servlet>
    <servlet-name>Admin</servlet-name>
      <servlet-class>org.logicalcobwebs.proxool.admin.servlet.AdminServlet</servlet-class>
   </servlet>
   <servlet-mapping>
    <servlet-name>Admin</servlet-name>
    <url-pattern>/admin</url-pattern>
   </servlet-mapping>

5、在调用数据库连接代码:
       Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");
       Connection conn = DriverManager.getConnection("proxool.Develop");
     6、利用proxool监控工具查看数据库运行状态。地址:./admin


       以上配置是采用的XML文件方式,也可以采用properties配置方式:

proxool.alias=Test
proxool.driver-class=oracle.jdbc.driver.OracleDriver
proxool.driver-url=jdbc:oracle:thin:@192.168.10.160:1521:orcl
proxool.user=test
proxool.password=testpass
proxool.maximum-connection-count=20
proxool.prototype-count=4
proxool.house-keeping-test-sql=select sysdate from DUAL
proxool.verbose=true
proxool.statistics=10s,1m,1d
proxool.statistics-log-level=ERROR


<servlet>
<servlet-name>ServletConfigurator</servlet-name>
<servlet-class>org.logicalcobwebs.proxool.configuration.ServletConfigurator</servlet-class>

<init-param>
   <param-name>propertyFile</param-name>
   <param-value>WEB-INF/config/Proxool.properties</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>


在调用数据库连接代码
    Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");
   Connection conn = DriverManager.getConnection("proxool.Test");


还有一些配置属性:
maximum-connection-lifetime   最大连接生命周期 默认值:4小时
maximum-active-time:      最大活动时间    默认值:5分钟
maximum-connection-count    最大连接数     默认值:15个
minimum-connection-count    最小连接数     默认值:5个

在用admin调用的时候,可以查看这个WEB应用所有的连接数的状态,虽然这个插件可以把不活动的连接自动放到连接池里,但是如果连接数过多,而不及时KILL的话,对网站的连接是有很大的影响的,建议还是手工KILL。
注意:一般连接用完应关闭连接,对于执行时间比较长的操作,maximum-active-time的值要设大一些,不然时间到了,连接池会将连接关闭, 导致数据库操作出错。对于连续的统计任务,使用数据库连接可以在一小时以上,应考虑自动关闭的情况,加上事务处理,并重新建立连接。
分享到:
评论

相关推荐

    使用数据库连接池proxool配置mysql数据库

    解决mysql数据库8小时连接时限问题,方便配置Tomcat服务器,内有详细配置,易学习

    ssh数据库连接池proxool

    自己整理好的ssh连接池技术 并带有资料 很多种配置方式 这里我主要弄的是proxool方式 也是非常好用 经常用的一种 带有步骤 按上面配置就可以成功使用 带有所需jar包

    关于proxool数据库连接池的配置集合

    关于proxool数据库连接池的配置,文档,资料说明。

    proxool数据库连接池配置

    proxool数据库连接池配置.doc

    Java各数据库连接池配置介绍

    详细介绍常用Java各数据库连接池配置,包括C3P0,DBCP,Proxool等。

    proxool连接池配置

    -- 连接池的别名 --&gt; &lt;alias&gt;DBPool&lt;/alias&gt; - &lt;!-- proxool只能管理由自己产生的连接 --&gt; &lt;driver-url&gt;jdbc:sqlserver://localhost:1433;dataBaseName=books&lt;/driver-url&gt; - &lt;!-- JDBC驱动程序 --&gt; ...

    proxool连接池用户名密码加密

    proxool 数据库连接池用户名、密码加密处理,文件里面包含可直接使用加密的jar以及相关使用说明。

    利用hibernate+spring配置proxool连接池连接Access数据库

    proxool-0.9.1(my).jar 包是我修改了proxool-0.9.1后的jar包,修改后可以完全支持spring配置,并添加了charSet配置属性,用于配置数据库链接的设置默认字符集,并且解决了proxool数据库连接池报如下错误的问题:...

    java连接池的配置

    java连接池的配置 里面有C3P0连接池在tomcat中的详细配置 Java反射机制总结,tomcat下配置数据库连接池DBCP、C3P0、Proxool 总结spring下配置dbcp,c3p0,proxool数据源链接池

    数据库连接池jar

    配置全局数据库连接池需需要的的JAR包:commons-logging-1.1.3、commons-logging-api-1.1、mysql-connector-java-5.0.8-bin、proxool-0.9.1、proxool-cglib

    Java数据库连接池之proxool_动力节点Java学院整理

    Proxool是一种Java数据库连接池技术。方便易用,便于发现连接泄漏的情况

    dbcp,c3p0,proxool三种数据库连接池配置方法

    NULL 博文链接:https://381324504-qq-com.iteye.com/blog/486480

    R2高性能数据库连接池v1.6源码

    v1.2处理了oracle环境下由于服务器关闭休眠链接造成的连接池循环检测进程异常退出的情况,改为当循环周期大于服务器关闭休眠链接间隔时,后台打印异常并重新连接数据库。 R2 jdbc连接池,用于java程序中jdbc连接池...

    数据库连接池

    数据库连接池的配置方法 方便你后台和数据库的连接

    R2高性能数据库连接池v1.8改进版源码

    v1.2处理了oracle环境下由于服务器关闭休眠链接造成的连接池循环检测进程异常退出的情况,改为当循环周期大于服务器关闭休眠链接间隔时,后台打印异常并重新连接数据库。 R2 jdbc连接池,用于java程序中jdbc连接池的...

    R2高性能数据库连接池v1.7源码

    v1.2处理了oracle环境下由于服务器关闭休眠链接造成的连接池循环检测进程异常退出的情况,改为当循环周期大于服务器关闭休眠链接间隔时,后台打印异常并重新连接数据库。 R2 jdbc连接池,用于java程序中jdbc连接池的...

    R2高性能数据库连接池v1.8源码

    v1.2处理了oracle环境下由于服务器关闭休眠链接造成的连接池循环检测进程异常退出的情况,改为当循环周期大于服务器关闭休眠链接间隔时,后台打印异常并重新连接数据库。 R2 jdbc连接池,用于java程序中jdbc连接池的...

    Hibernate+Proxool配置

    数据库连接池的最大好处是节省开销。我们采用了Hibernate,所以可以考虑hibernate自带的连接池机制,但是发现效率不高,而且Hibernate也推荐使用c3p0或Proxool连接池,在我们的项目中采用了Proxool

    java proxool轻量级数据池

    java proxool 轻量级数据库连接池配置文件,可进行简易的数据库连接操作

    连接池首先 proxool

    目前最流行的连接池产品,下载后将jar包部署到lib目录下,当然web。xml也要配置啦

Global site tag (gtag.js) - Google Analytics