`

Oracle引用 Proxool连接池的使用

 
阅读更多
官方网址:http://proxool.sourceforge.net/     当前版本:proxool-0.9.0RC2
1、下载proxool 地址:http://proxool.sourceforge.net
2、解压缩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>DBPool</alias>  
        <!--proxool只能管理由自己产生的连接-->  
        <driver-url>jdbc:oracle:thin:@127.0.0.1:1521:ora</driver-url>  
        <!--JDBC驱动程序-->  
        <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>  
        <driver-properties>  
            <property name="user" value="sys"/>  
            <property name="password" value="sys"/>  
        </driver-properties>  
        <!-- proxool自动侦察各个连接状态的时间间隔(毫秒),侦察到空闲的连接就马上回收,超时的销毁-->  
        <house-keeping-sleep-time>90000</house-keeping-sleep-time>  
        <!-- 指因未有空闲连接可以分配而在队列中等候的最大请求数,超过这个请求数的用户连接就不会被接受-->    
        <maximum-new-connections>150</maximum-new-connections>  
        <!-- 最少保持的空闲连接数-->    
        <prototype-count>3</prototype-count>  
        <!-- 允许最大连接数,超过了这个连接,再有请求时,就排在队列中等候,最大的等待请求数由maximum-new-connections决定-->    
        <maximum-connection-count>100</maximum-connection-count>  
        <!-- 最小连接数-->  
        <minimum-connection-count>3</minimum-connection-count>  
    </proxool>  
</something-else-entirely> 

4、在web.xml里新增如下:
<!--加载proxool配置信息-->
<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。

在web-info下建立文件:proxool.xml
文件内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<something-else-entirely>  
    <proxool>  
        <!--连接池的别名-->  
        <alias>DBPool</alias>  
        <!--proxool只能管理由自己产生的连接-->  
        <driver-url>jdbc:oracle:thin:@127.0.0.1:1521:ora</driver-url>  
        <!--JDBC驱动程序-->  
        <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>  
        <driver-properties>  
            <property name="user" value="sys"/>  
            <property name="password" value="sys"/>  
        </driver-properties>  
        <!-- proxool自动侦察各个连接状态的时间间隔(毫秒),侦察到空闲的连接就马上回收,超时的销毁-->  
        <house-keeping-sleep-time>90000</house-keeping-sleep-time>  
        <!-- 指因未有空闲连接可以分配而在队列中等候的最大请求数,超过这个请求数的用户连接就不会被接受-->    
        <maximum-new-connections>150</maximum-new-connections>  
        <!-- 最少保持的空闲连接数-->    
        <prototype-count>3</prototype-count>  
        <!-- 允许最大连接数,超过了这个连接,再有请求时,就排在队列中等候,最大的等待请求数由maximum-new-connections决定-->    
        <maximum-connection-count>100</maximum-connection-count>  
        <!-- 最小连接数-->  
        <minimum-connection-count>3</minimum-connection-count>  
    </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/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



在Spring框架中使用Proxool数据源BEAN

方法一、使用Proxool的数据源BEAN。在spring的BEAN配置文件中增加配置代码,如下:

<bean id="dataSource" class="org.logicalcobwebs.proxool.ProxoolDataSource">
  <property name="driver">
   <value>oracle.jdbc.driver.OracleDriver</value>
  </property>
  <property name="driverUrl">
   <value>jdbc:oracle:thin:@127.0.0.1:1521:ORA</value>
  </property>
  <property name="user">
   <value>sys</value>
  </property>
  <property name="password">
   <value>sys</value>
  </property>
  <property name="alias">
   <value>DB</value>
  </property>
  <property name="prototypeCount">
   <value>1</value>
  </property>
  <property name="maximumConnectionCount">
   <value>10</value>
  </property>
  <property name="minimumConnectionCount">
   <value>1</value>
  </property>
  <property name="trace">
   <value>true</value>
  </property>
  <property name="verbose">
   <value>true</value>
  </property>
</bean>

以上参数与在proxool中配置的基本相同,这里不在做解释。



方法二、结合Spring的org.springframework.jdbc.datasource.DriverManagerDataSource类来使用,配置如下:

1、先在WEB-INF目录下建立proxool.xml文件。参考上面的proxool.xml及web.xml配置。

2、在Spring的bean配置文件中配置以下代码:

<bean id="dataSource1" class="org.springframework.jdbc.datasource.DriverManagerDataSource" singleton="true">  
        <property name="driverClassName" value="org.logicalcobwebs.proxool.ProxoolDriver"/>  
        <property name="url" value="proxool.DBPool"/><!--使用此种方式必须比SPRING框架先加载配置-->  
</bean>



<!--对proxool进行事务支持-->
<bean id="transactionManager"    
        class="org.springframework.jdbc.datasource.DataSourceTransactionManager">  
        <property name="dataSource">  
            <ref local="dataSource1" />  
        </property>  
</bean>
分享到:
评论

相关推荐

    配置Hibernate使用Proxool连接池

    NULL 博文链接:https://12345678.iteye.com/blog/718296

    oracle proxool jar jdbc jar包 proxool源码包 Java oracle proxool 实例

    有oracle连接池proxool 用到的jar 包 还有jdbc的驱动包 proxool的源码包 Java实现oracle proxool 单态的例子等

    oracle proxool jar jdbc jar包 proxool源码包 Java实现 oracle proxool 实例

    有oracle连接池proxool 用到的jar 包 还有jdbc的驱动包 proxool的源码包 Java实现oracle proxool 单态的例子等

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

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

    Hibernate的连接池和数据源配置

    Hibernate支持第三方的连接池,官方推荐的连接池是C3P0,Proxool,以及DBCP。在配置连接池时需要注意的有三点: 一、Apche的DBCP在Hibernate2中受支持,但在Hibernate3中已经不再推荐使用,官方的解释是这个连接池存在...

    自定义PROXOOL监听器整合SSH框架

    1、proxool官网,下载最新的proxool-...3、创建自定义数据库连接池监听 4、整合Struts2、Spring和proxool,配置Web服务启动配置文件[web.xml] 5、整合Spring和proxool,配置应用上下文配置文件[applicationContext.xml]

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

    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连接池的...

    Proxool-0.9.1

    SEVERE: The web application [/xxx] registered the JDBC driver [oracle.jdbc.OracleDriver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has...

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

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

    Hibernate的三种连接池设置C3P0、dbcp和Proxool

    博文链接:https://pantao.iteye.com/blog/142280

    Extjs3.2+struts2.0+spring2.5+hibernate3.5+weblogic10+oracle10g含全包5

    proxool_cofig.xml为连接池配置 此项目可做基础项目开发原型方便,启动此项目在weblogic10中会有antlr-2.7.6rc1.jar此包的异常请配置其先加载并将次包考入 bea\wlserver_10.0\server\lib目录下,再将bea\user_projects...

    SpringBoot集成Druid+MariaDB+Lombok+Mybatis-Plus详解

    Druid:是阿里巴巴开源平台上一个数据库连接池实现,它结合了C3P0、DBCP、PROXOOL等DB池的优点,同时加入了日志监控,可以很好的监控DB池连接和SQL的执行情况 MariaDB:是最流行的开源关系型数据库之一。它由 MySQL...

    JAVA项目开发全程实录(含电子书和所有源代码)

    8.12 Proxool连接池 400 8.12.1 Proxool安装 400 8.12.2 Proxool使用 400 8.13 本章总结 402 第9章 BBS系统(Struts+MySQL实现) 403 教学视频:1小时46分 9.1 开发背景 404 9.2 需求分析 404 9.3 系统设计 404 ...

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

     7.SQL Server提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有。  SQL Server 2000与以前版本相比较,又具有以下新特性 :  1.支持XML(Extensive Markup Language,扩展标记语言)  2.强大的...

Global site tag (gtag.js) - Google Analytics