`

引用 Proxool连接池的使用(转)

阅读更多
引用 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>
分享到:
评论

相关推荐

    Spring+Hibernate+Proxool连接池

    标题 "Spring+Hibernate+Proxool连接池" 涉及到的是在Java Web开发中,如何使用Spring框架集成Hibernate ORM框架,并结合Proxool作为数据库连接池的技术实践。这通常是为了提高应用性能,有效管理和复用数据库连接,...

    proxool连接池jar包

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

    基于ssh的proxool连接池配置

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

    proxool+mysql+tomcat连接池所需jar包

    本文将详细介绍"proxool+mysql+tomcat连接池所需jar包"的相关知识,以及如何在实际项目中配置和使用。 首先,我们要理解连接池的基本概念。数据库连接池是在应用服务器启动时预创建一定数量的数据库连接,然后在...

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

    配置Proxool连接池** 配置Proxool主要涉及以下几个步骤: - **创建配置文件**:通常我们会创建一个名为`proxool.properties`的配置文件,其中包含了与数据库连接相关的所有参数。例如: ``` proxool.pool-name=...

    ssh数据库连接池proxool

    3. **整合SSH**:在Struts的配置文件(如`struts-config.xml`)、Spring的配置文件(如`applicationContext.xml`)以及Hibernate的配置文件(如`hibernate.cfg.xml`)中引用Proxool的配置,指定数据源。 4. **编程...

    SSH (Struts2+Spring3+Hibernate3) +Proxool_亲测成功 费大劲了.zip

    另一份文件`spring中以dataSource方式使用proxool连接池_2种方式.txt`可能详细介绍了两种在Spring中配置Proxool连接池的方法。通常,可以通过XML配置或Java配置来设置数据源。在XML配置中,可以使用`...

    proxool与mybatis整合例子

    3. 配置`Mybatis`的`mybatis-config.xml`:在`mybatis-config.xml`中配置数据源,引用`proxool.properties`中定义的连接池。例如: ```xml &lt;dataSource type="PROXOOL"&gt; ${proxool.mysql.testdriver}"/&gt; ...

    Hibernate2和Hibernate3连接池配置.doc

    3. **Proxool连接池配置**: 对于Proxool,配置如下: ```xml ... &lt;property name="hibernate.c3p0.proxy_factory_class"&gt;org.hibernate.connection.ProxoolProxyFactory &lt;property name="proxool.hibernate....

    proxool配置与测试.doc

    - 获取数据库连接,通常通过 `DriverManager.getConnection()`,使用别名 `DBPool` 来引用配置好的 Proxool 连接池。 - 执行 SQL 查询或操作,如 `Statement` 或 `PreparedStatement`。 - 关闭数据库连接,以释放...

    proxool-0.9.1

    开发者在项目中引用这个 JAR 文件,就可以利用 Proxool 提供的数据库连接池功能。 Proxool 的主要特点包括: - **线程安全**:它设计为多线程环境下的安全使用,确保并发访问时的数据一致性。 - **连接池配置**:...

    一个简单的SSI+proxool框架实现

    Proxool是一个开源的数据库连接池,它提供了高效且灵活的数据库连接管理,能够帮助减少数据库连接的创建和销毁,提高系统的性能和资源利用率。 在这个"一个简单的SSI+proxool框架实现"中,开发者已经集成这两个组件...

    tomcat6.0连接池

    8. **监控和诊断**:通过AOP库(如AspectJ)和日志记录工具,可以监控连接池的使用情况,如获取连接和释放连接的时间,以及连接池的状态信息,这对于诊断和优化系统性能至关重要。 综上所述,配置Tomcat 6.0连接池...

    Hibernate3.2连接池

    需要创建一个单独的XML文件来管理连接池,然后在Hibernate配置文件中引用它。首先确保引入`proxool-0.8.3.jar`,然后配置如下: ```xml &lt;!-- 在Hibernate配置文件中 --&gt; ...

    关于tomcat5.0配置及连接池配置详细

    Tomcat 5.0支持多种连接池实现,其中最常见的是Apache的Proxool和C3P0,以及内置的JDBC通用连接池(Commons DBCP)。我们以C3P0为例,详细说明配置步骤: 1. **添加依赖**: 首先,需要将C3P0的jar文件添加到Tomcat...

    tomcat5.5配置数据库连接池

    在Tomcat 5.5中,常用的数据库连接池实现有C3P0、DBCP和Proxool等。这里以Apache的DBCP(BasicDataSource)为例进行说明,因为它简洁易用且与Tomcat兼容良好。 1. **安装DBCP库** 在Tomcat的`lib`目录下添加DBCP的...

    Proxool0.9.1的配置与应用[定义].pdf

    1. **别名(alias)**: `ds` 是数据源的别名,用于在代码中引用该连接池。 2. **驱动URL(driver-url)**: 这里是MySQL的JDBC URL,包括服务器地址、端口、数据库名以及连接参数。例如,`jdbc:mysql://192.168.104.191:...

    hibernater配置proxool

    在`hibernate.cfg.xml`文件中,你需要配置使用proxool作为连接池,如下所示: ```xml ... &lt;property name="connection.provider_class"&gt;org.hibernate.connection.ProxoolConnectionProvider ...

Global site tag (gtag.js) - Google Analytics