`
wushanlang
  • 浏览: 45285 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

项目中用到的Proxool0.9.1数据连接池配置实践

阅读更多

1:先是配置文件:

Xml代码

<?xml version="1.0" encoding="gb2312"?>  

<!-- the proxool configuration can be embedded within your own application's.   

     Anything outside the "proxool" tag is ignored. -->  

<something-else-entirely>  

    <proxool>  

        <alias>example</alias>  

        <driver-url>  

             jdbc:oracle:thin:@*.*.*.*:1521:****   

        </driver-url>  

        <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>  

        <driver-properties>  

            <property name="user" value="*****" />  

            <property name="password" value="*****" />  

        </driver-properties>  

        <!--最大连接数(默认5个),超过了这个连接数,再有请求时,就排在队列中等候,最大的等待请求数由maximum-new-connections决定 -->  

        <maximum-connection-count>20</maximum-connection-count>  

        <!--最小连接数(默认2个,包含活动的和空闲的)-->  

        <minimum-connection-count>4</minimum-connection-count>  

        <!--proxool自动侦察各个连接状态的时间间隔(毫秒),侦察到空闲的连接就马上回收,超时的销毁 默认30秒-->  

        <house-keeping-sleep-time>30000</house-keeping-sleep-time>  

        <!--没有空闲连接可以分配而在队列中等候的最大请求数,超过这个请求数的用户连接就不会被接受-->  

        <!-- maximum-new-connections不被推荐使用了,所以用simultaneous-build-throttle来代替了 -->  

        <simultaneous-build-throttle>15</simultaneous-build-throttle>  

        <!--maximum-new-connections>10</maximum-new-connections-->  

        <!--最少保持的空闲连接数(默认2个)-->  

        <prototype-count>2</prototype-count>  

        <!-- maximum-active-time缺省5minutes 172800000毫秒=48小时-->  

        <maximum-active-time>172800000</maximum-active-time>  

        <!-- maximum-connection-lifetime缺省4hours 180000000毫秒=50小时-->  

        <maximum-connection-lifetime>180000000</maximum-connection-lifetime>  

        <!--在使用之前测试-->  

        <test-before-use>false</test-before-use>  

        <!--用于保持连接的测试语句 -->  

         <!-- house-keeping-test-sql>  

             select sysdate from dual   

        </house-keeping-test-sql -->  

        <!-- 是否监控sql信息 -->  

        <trace>true</trace>  

        <!-- statistics>10s,1m</statistics -->  

        <!-- statistics-log-level>DEBUG</statistics-log-level -->  

 

    </proxool>  

</something-else-entirely>  

 

注释:(以上的数据连接IP和用户名密码根据自己的实际情况填写)

 

配置文件里的两行

 

<!-- maximum-active-time缺省5minutes 172800000毫秒=48小时-->

<maximum-active-time>172800000</maximum-active-time>

<!-- maximum-connection-lifetime缺省4hours 180000000毫秒=50小时-->

<maximum-connection-lifetime>180000000</maximum-connection-lifetime>

 

第一个48小时的是设置连接活动的时间,即:你的sql或存储过程执行的时间,估算一下你的应用中的sql或存储过程最长的执行时间a,将这个值设为大于a就行了,这是项目中实际发现的问题经验,我有个sql执行时间超过了5分钟,而原来没有设置这个值,缺省为5分钟,所以我的应用刚起来没问题,跑一段时间,跑到这个sql时执行了一段时间后台就报:

 

java.sql.SQLException: Couldn't perform the operation prepareStatement: You can't perform any operations on this connection. It has been automatically closed by Proxool for some reason (see logs).

 

这个错误,后来去官方网页查看Properties发现,如果超过这个值,proxool就会自动kill掉这个连接。

 

      第二个50个小时是设置连接的寿命,这个值理论上应该大于连接的活动时间限制,不然活动时间限制就没有意义了,所以设为了50个小时

1
1
分享到:
评论

相关推荐

    hibernate3+ proxool-0.9.1配置 和proxool-0.9.1.jar

    这样,当应用程序需要数据库连接时,可以从Proxool的连接池中获取,使用完毕后再归还,有效地提高了系统的并发处理能力和资源利用率。 在提供的压缩包文件中,"proxool-0.9.1"可能是Proxool的源码或文档,用于深入...

    proxool配置参数说明及proxool-0.9.1相关jar包及spring配置方法

    Proxool作为数据库连接池,通过配置参数可以灵活地调整连接池的行为,以满足不同性能和稳定性需求。Spring框架中的DataSource配置使得Proxool的集成变得简单,而proxool-0.9.1.jar和proxool-cglib.jar是运行Proxool...

    proxool-0.9.1.jar proxool_cglib-0.9.1.jar

    在Proxool的场景下,CGLIB则用于动态生成代理类,以便在数据库连接池中进行控制和跟踪。 **连接池配置** "用于连接池的配置"这一描述表明,这两个jar文件不仅包含了Proxool的实现,还可能涉及到配置文件或者API,...

    proxool-0.9.1.jar,proxool-cglib.jar

    标题中的"proxool-0.9.1.jar"和"proxool-cglib.jar"是两个重要的Java档案文件,它们是Proxool项目的组件。Proxool是一个开源的数据库连接池解决方案,它允许开发者在Java应用程序中高效地管理数据库连接。数据库连接...

    proxool连接池用户名密码加密

    在IT行业中,数据库连接池是优化数据库访问性能和资源管理的重要工具。Proxool是一个开源的、轻量级的Java数据库连接池实现,它提供了一种高效、灵活的方式来管理数据库连接。在某些场景下,为了保护敏感信息,如...

    proxool-0.9.1

    **Proxool 0.9.1:数据库连接池详解** `Proxool` 是一个开源的、基于Java的数据库连接池,它提供了一种高效、灵活的方式来管理和控制数据库连接。在0.9.1版本中,这个工具为开发者提供了更稳定的性能和优化的资源...

    proxool-0.9.1源码下载

    - **连接获取**: 当需要数据库连接时,SqlProxyFactory会从连接池中获取一个代理连接,如果池中没有空闲连接,它会根据配置创建新的数据库连接。 - **连接释放**: 使用完毕后,应用程序调用代理连接的关闭方法,...

    struts2.2.3+spring2.5.6+hibernate3.2+proxool0.9.1

    **Proxool0.9.1** 是一个轻量级的数据库连接池,它的主要任务是管理和复用数据库连接,以优化性能和资源利用率。数据库连接池在多用户环境下至关重要,因为它避免了频繁创建和销毁数据库连接的开销。Proxool提供了...

    proxool-0.9.1.jar

    java中利用proxool方式创建数据库连接池

    proxool-0.9.1-source

    "Proxool-0.9.1-source"是Proxool的一个特定版本的源代码包,主要用于数据库连接池管理。Proxool是一个开源的、基于Java的数据库连接池实现,它提供了一种灵活且可扩展的方式来管理和优化数据库连接。在这个0.9.1...

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

    在0.9.1版本中,虽然有一些配置上的变动,但它仍然是一个常用的数据库连接池解决方案,尤其对于那些希望避免频繁创建和关闭数据库连接的项目。 配置Proxool主要涉及编辑`proxool.xml`文件,这个文件包含了所有关于...

    Hibernate3.5.1+Proxool0.9.1+Oracle10g2实现关键

    标题 "Hibernate3.5.1+Proxool0.9.1+Oracle10g2实现关键" 提供了一个关于整合三个技术的实践场景:Hibernate 3.5.1(一个流行的Java对象关系映射框架),Proxool 0.9.1(一个数据库连接池)以及Oracle 10g 2(一种...

    proxool-0.9.1.tar.gz

    当应用程序需要与数据库交互时,它会从连接池中获取一个已存在的连接,而不是每次都创建新的连接。使用完毕后,连接会归还给池,而不是直接关闭,从而避免了频繁建立和关闭连接带来的开销。这种机制显著提高了数据库...

    proxool-0.9.1.zip

    标签"proxool jar"强调了这些文件是与Proxool相关的JAR文件,表明它们可以被添加到Java项目中,以利用Proxool的数据库连接池服务。 根据压缩包子文件的文件名称列表,只有一个条目"proxool-0.9.1",这可能是目录名...

    proxool-0.9.1 jar;proxool-cglib.jar;

    4. **自动裁剪**:当连接池中的空闲连接超过设定值时,Proxool会自动裁剪多余的连接,节省资源。 5. **透明集成**:Proxool支持JDBC API,可以无缝地与使用JDBC的应用程序集成。 在实际使用中,`proxool.properties...

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

    Proxool是一个基于池化的JDBC代理,它维护着一个数据库连接池,当应用需要访问数据库时,可以从池中获取连接,用完后再归还,而不是每次请求都创建新的连接,从而提高系统性能,减少数据库的压力。 **配置步骤** 1...

    proxool-0.9.1 Hibernate 的常用链接池技术 附带配置 一学就会

    本文将深入探讨Proxool 0.9.1,这是一个轻量级的、高效的数据库连接池技术,以及如何将其与Hibernate集成进行配置,让你一学就会。 **什么是Proxool?** Proxool是Proxy + Pool的缩写,它是一个开源的JDBC连接池实现...

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

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

    proxool-0.9.1.jar commons-logging.jar

    首先,`proxool-0.9.1.jar`是Proxool数据库连接池的实现库,它是一个开源的、轻量级的Java连接池解决方案。Proxool允许开发者在应用中使用多个数据库连接,并通过池化技术来减少创建和销毁数据库连接的开销。这个...

Global site tag (gtag.js) - Google Analytics