`
phosphory
  • 浏览: 72942 次
  • 性别: Icon_minigender_1
  • 来自: 福建
社区版块
存档分类

Spring中使用proxool连接池的配置方式

阅读更多
一.下载proxool

首先我们要去proxool官方下载它的源码,地址:http://nchc.dl.sourceforge.net/sourceforge/proxool/proxool-0.9.1-source.zip。

下载完后解压,把proxool.jar和proxool-cglib.jar放入你要配置的项目的lib目录下.

二.配置proxool.xml
添加proxool.xml文件到项目的/WEB-INF下.

连接数据库MySQL的配置如下:

<?xml version="1.0" encoding="utf-8"?>
<!-- the proxool configuration can be embedded within your own application's. 
Anything outside the "proxool" tag is ignored. --> 
<something-else-entirely> 
    <proxool> 
        <alias>dbpool</alias><!-- 与applicationContext.xml中url中proxool.*里面的*一致  -->
        <driver-url>jdbc:mysql://localhost:3306/dhcp</driver-url> 
        <driver-class>com.mysql.jdbc.Driver</driver-class> 
        <driver-properties> 
            <property name="user" value="root" /> 
            <property name="password" value="root" /> 
            <property name="useUnicode" value="true" /> 
            <property name="characterEncoding" value="UTF-8" /> 
        </driver-properties> 
        <minimum-connection-count>5</minimum-connection-count> 
        <maximum-connection-count>50</maximum-connection-count> 
        <maximum-active-time>60000</maximum-active-time> 
        <house-keeping-test-sql>select 1</house-keeping-test-sql> 
        <prototype-count>5</prototype-count> 
        <house-keeping-sleep-time>60000</house-keeping-sleep-time> 
    </proxool> 
</something-else-entirely>

alias:数据源的别名
driver-url:url连接串,须确定用户名和密码
driver-class:驱动名
username:用户名(proxool没有使用,但是不能没有)
password:密码(proxool没有使用,但是不能没有)
maximum-connection-count:最大连接数(默认5个),超过了这个连接数,再有请求时,就排在队列中等候,最大的等待请求数由maximum-new-connections决定
minimum-connection-count:最小连接数(默认2个)
house-keeping-sleep-time:proxool自动侦察各个连接状态的时间间隔(毫秒),侦察到空闲的连接就马上回收,超时的销毁 默认30秒)
prototype-count:最少保持的空闲连接数(默认2个)
maximum-new-connections:没有空闲连接可以分配而在队列中等候的最大请求数,超过这个请求数的用户连接就不会被接受
test-before-use和house-keeping-test-sql:测试用

三.配置applicationContext.xml,整合Spring和proxool

Spring配置文件applicationContext.xml中设置一个数据源(dataSource)的bean:

<!-- 使用proxool作为数据库连接池 -->
  <bean id="dataSource"
    class="org.springframework.jdbc.datasource.DriverManagerDataSource">
   <property name="driverClassName">
    <value>org.logicalcobwebs.proxool.ProxoolDriver</value>
   </property>
   <property name="url">
    <value>proxool.dbpool</value>
   </property>
  </bean>

  这个 <property name="url">要配置成proxool.xml中的别名。其他地方不用该了。

四、配置web.xml

注意:加载并初始化proxool.xml文件。因为它是连接数据库的,其他很多模块都用到数据,所以你必须首先加载它,如果你以前加载applicationContext.xml用的是:
    <listener>
    <listener-class>
    org.springframework.web.context.ContextLoaderListener
    </listener-class>
    </listener>
    这时你必须换成如下配置:
    <servlet>
    <servlet-name>contextConfigLocation</servlet-name>
    <servlet-class>
    org.springframework.web.context.ContextLoaderServlet
    </servlet-class>
    <load-on-startup>2</load-on-startup>
    </servlet>
    要不然你就会遇见这样的错误:
    Problem
    org.logicalcobwebs.proxool.ProxoolException: Attempt to refer to a unregistered pool by its
    alias 'db'

  如果用过proxool与spring整合时,不少就遇到过这样的问题,其实这个问题很明显就是你的proxool.xml没有被先加载初始化,我们应该让它先加载,应该这样配置:
  <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>
    把<load-on-startup>的值设为1,值越小级别就越高,就先被加载初始化。一定要先于applicationContext.xml的加载。

   这一步很关键,一定要注意,不然你就会遇到上面的问题。网上有很大人都遇见过这样的问题,只要你用了你才会体会到那样的错误。如果是第一次,你会很迷茫的,我第一次配置就出现了上面的问题,让我调试了好处时间才找出问题所在。希望你们不要再犯这样的错误。
        如果你想监控数据库连接池的连接情况,可以简单的配置一下就可以了,因为大部分功能源码中都已写好,我们用是只需简单的配置。
    <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>

  如果访问的话,可能会出现问题,报"ISO-8859-1"的问题。我们一般用的是utf-8,gbk.我所常用的就是统一一种编码方式。

想了解其他相关内容,可参照:

http://www.iteye.com/post/696545
分享到:
评论

相关推荐

    Spring2.5配置proxool连接池

    Spring2.5配置proxool连接池

    Spring+Hibernate+Proxool连接池

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

    proxool连接池用户名密码加密

    2. **使用说明**:这份文档详细阐述了如何在Proxool连接池配置中使用加密的用户名和密码。它可能涵盖了以下步骤: - **加密过程**:说明如何使用提供的jar文件对数据库的用户名和密码进行加密,生成可以安全存储的...

    在Hibernate中配置Proxool连接池

    总的来说,在Hibernate中配置Proxool连接池涉及的主要步骤包括:在Spring配置文件中声明SessionFactory并指定Proxool的相关属性;在单独的Proxool配置文件中定义数据库连接参数;最后确保这些配置与实际的数据库连接...

    基于ssh的proxool连接池配置

    总之,基于SSH的Proxool连接池配置涉及到Spring、Hibernate和Proxool之间的协作,通过这种方式,我们可以有效地管理和优化数据库连接,提高应用程序的性能和稳定性。在实际开发中,需要根据项目需求调整配置参数,以...

    proxool连接池使用详细说明

    应用程序在需要数据库连接时,从Proxool连接池中请求一个连接。使用完毕后,必须将连接归还给连接池,以便其他线程可以复用。这个过程是透明的,通常通过JDBC的`getConnection()`和`close()`方法实现。 5. **连接...

    Struts2+spring+hibernate中的proxool连接池配置

    本文将详细介绍如何在Struts2+Spring+Hibernate的环境中配置Proxool连接池。 首先,理解Proxool的工作原理。Proxool是一个基于池化的JDBC代理,它维护着一个数据库连接池,当应用需要访问数据库时,可以从池中获取...

    spring+proxool整合配置

    在Java的Web开发中,Spring框架是不可或缺的一部分,它提供了丰富的功能来管理应用程序的各个组件。...在项目中的`spring+proxool连接池的配置`文件中,应该包含上述所有配置的细节,以供实际部署时参考。

    proxool连接池jar包

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

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

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

    spring+dwr+proxool连接池

    标题中的"spring+dwr+proxool连接池"指的是一个整合了Spring框架、Direct Web Remoting (DWR)和Proxool数据库连接池技术的应用程序。这个应用可能用于创建一个能够实时交互的Web应用程序,其中Spring提供了依赖注入...

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

    本篇文章将深入探讨Proxool数据库连接池的配置及其重要性。 首先,理解Proxool的基本概念是必要的。Proxool是Proxy + Pool的组合,它通过代理(Proxy)机制来管理数据库连接,使得应用程序可以透明地使用连接池。...

    Struts2 Spring3 Hibernate2 JPA2 Proxool连接池

    本项目采用Struts2、Hibernate3集成JPA2、Spring3和Proxool连接池的集成,对整体SSH框架的数据访问及网站效率都有较大的提升,本项目即时部署即可使用,既满足新手的学习,也对有深层研究的朋友有帮助。

    spring proxool配置资料

    通过以上配置,我们就可以在Spring应用中顺利使用Proxool作为数据库连接池。在实际项目中,还需要根据具体需求调整连接池的参数,确保系统的稳定性和效率。在压缩包文件中,可能包含了更多关于Spring Proxool配置的...

    ssh小框架(proxool连接池)

    在实际项目中,"newMind"可能是一个包含有关SSH框架和Proxool连接池的教程、示例代码或者思维导图的文件。这个文件可以帮助开发者理解如何在SSH框架下集成并配置Proxool,从而提升应用的性能和稳定性。学习这部分...

Global site tag (gtag.js) - Google Analytics