`

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

    以下是如何配置SessionFactory以使用Proxool连接池: ```xml &lt;prop key="hibernate.dialect"&gt;org.hibernate.dialect.Oracle9Dialect&lt;/prop&gt; &lt;!-- 数据库方言 --&gt; &lt;prop key="hibernate.show_sql"&gt;true...

    proxool连接池jar包

    在实际应用中,使用Proxool连接池的步骤通常包括: 1. 添加依赖:将这两个jar文件添加到项目的类路径中。 2. 配置Proxool:创建XML配置文件,定义数据库连接的相关参数,如URL、用户名、密码以及池的大小等。 3. ...

    配置Hibernate使用Proxool连接池

    本篇文章将详细讲解如何配置Hibernate框架以使用Proxool连接池。 首先,我们需要了解Hibernate和Proxool的基本概念。Hibernate是一个流行的Java ORM(对象关系映射)框架,它简化了Java应用与数据库之间的交互,...

    基于ssh的proxool连接池配置

    在这里,我们通过`dataSource`属性引用了上面配置的数据源,这样Hibernate就能使用Proxool连接池进行数据库操作。 5. 在`hibernateProperties`中,我们设置了`hibernate.dialect`为`MySQLDialect`,表示使用的是...

    proxool连接池.txt

    ### Proxool连接池知识点详解 #### 一、Proxool连接池简介 Proxool是Logical Cobwebs公司开发的一款轻量级的JDBC...以上内容详细介绍了Proxool连接池的相关配置和使用方法,有助于开发者更好地理解和应用这一技术。

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

    4. 可能会有一个静态块或者单例工厂来确保Proxool连接池的初始化和唯一性。 理解并掌握Oracle Proxool的使用,可以帮助开发者更有效地管理数据库连接,提高应用的响应速度和并发处理能力。同时,通过研究源码,可以...

    proxool连接池所需的jar包

    总结,Proxool连接池是Java应用中的一个高效数据库连接管理工具,通过proxool-0.9.1.jar和proxool-cglib.jar这两个jar包,开发者可以轻松地集成和使用Proxool,从而优化数据库访问性能,提升系统的整体效率。...

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

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

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

    `oracle proxool jar` 是包含Oracle Proxool库的JAR文件,它是使用Proxool连接池的关键组件。这个JAR包包含了所有必要的类和资源,使得开发者可以在Java应用中集成Proxool,以便管理与Oracle数据库的连接。 `jdbc ...

    hibernate+proxool+Oracle库文件

    标题中的“hibernate+proxool+Oracle库文件”揭示了这个压缩包包含的是一个集成Hibernate ORM框架、Proxool连接池以及Oracle数据库驱动的软件库。这些组件都是Java开发中用于高效、稳定地处理数据库操作的重要工具。...

    proxool 的使用 配置

    标题 "proxool 的使用配置" 暗示我们将探讨一个名为 Proxool 的数据库连接池的配置和使用方法。Proxool 是一个轻量级、高效的开源 Java 数据库连接池,它提供了一种灵活的方式来管理和控制数据库连接。在这个主题中...

    java 连接池

    要使用Proxool连接池,首先需要在项目中引入其依赖。对于Maven项目,可以在pom.xml中添加以下依赖: ```xml &lt;groupId&gt;orgproxool &lt;artifactId&gt;proxool &lt;version&gt;0.9.1 ``` 然后,需要配置Proxool的XML属性...

    测试用的测试连接池欢迎下载

    根据提供的文件信息,本文将详细解释测试连接池的相关知识点,特别是如何在Spring框架中配置Proxool连接池来实现对Oracle数据库的操作。 ### 测试连接池简介 测试连接池是软件开发过程中为了提高效率和资源利用率...

    proxool数据库总结

    - **使用连接池**:在代码中通过`Class.forName`加载Proxool驱动,然后使用`DriverManager.getConnection`获取数据库连接,指定连接池别名。 4. **监控工具**: - Proxool提供了一个名为`AdminServlet`的管理监控...

    c3p0、proxool、dbcp数据库连接池

    本文将深入探讨三个常用的数据库连接池:C3P0、DBCP和Proxool,以及如何结合Log4j2进行日志记录。 ### C3P0 C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。C3P0的核心...

    Hibernate 联接池 proxool例子和jar包

    综上所述,这个"Hibernate dbpool proxool例子和jar包"提供的内容应该包含了如何在Hibernate项目中配置和使用Proxool连接池的示例代码以及所需的jar包,对于学习和实践Hibernate与Proxool的结合使用非常有帮助。...

    java红数据连接池包下载

    标题提到的"java红数据连接池包下载",指的是包含了Proxool连接池及其依赖的Java包。 首先,我们要理解数据库连接池的基本概念。数据库连接池在应用程序启动时创建一定数量的数据库连接,并将它们存储在内存中,以...

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

    **Proxool连接池配置** Proxool是另一个早期的连接池实现,它的配置参数包括: 1. `proxool.dbcp.active-count`:当前活动连接数。 2. `proxool.dbcp.max-connection-count`:最大连接数。 3. `proxool.dbcp.min-...

    proxool-0.9.0RC3

    3. **初始化连接池**:在应用程序启动时,通过Java代码加载配置文件并初始化proxool连接池。 4. **获取与释放连接**:在需要访问数据库时,从连接池中获取连接;操作完成后,及时归还连接到池中。 5. **监控与调整...

Global site tag (gtag.js) - Google Analytics