`

DBCP中几个参数的补充说明

 
阅读更多
DBCP的性能配置主要是4个参数

#连接池启动时的初始值.

dbcp.initialSize=10
#连接池的最大值.

dbcp.maxActive=50
#最大空闲值.当经过一个高峰时间后,连接池可以慢慢将已经用不到的连接慢慢释放一部分,一直减少到maxIdle为止。

dbcp.maxIdle=20
#最小空闲值.当空闲的连接数少于阀值时,连接池就会预申请去一些连接,以免洪峰来时来不及申请。

dbcp.minIdle=5
一般这几个参数应该放在applicationContext.properties里方便部署时快速修改。

有两种配置风格,

  比如较少使用者的管理界面,平时的使用者不多,但瞬时可能会有较多的使用者,如Mini-Web,会设置一个较低的maxIdle 而设置较高的maxActive。
  比如长期高负荷运行的业务系统,会设置一个合理的maxIdle值,且maxActive==maxIdle
长期idle连接的处理:
Mysql服务端会断开超过8小时的空闲连接,如果系统只在白天工作时间被使用,DBCP的连接就很容易被断开的连接,而且DBCP对jdbc url里设置autoReconnect=true是无效。

更好的做法DBCP主动断开超时的连接。

#运行判断连接超时任务的时间间隔,单位为毫秒,默认为-1,即不执行任务。
timeBetweenEvictionRunsMillis=3600000

#连接的超时时间,默认为半小时。
minEvictableIdleTimeMillis=3600000



http://www.blogjava.net/wangxinsh55/archive/2007/05/25/120015.html
在配置时,主要难以理解的主要有:removeAbandoned 、logAbandoned、removeAbandonedTimeout、maxWait这四个参数,设置了rmoveAbandoned=true那么在getNumActive()快要到getMaxActive()的时候,系统会进行无效的Connection的回收,回收的Connection为removeAbandonedTimeout(默认300秒)中设置的秒数后没有使用的Connection,激活回收机制好像是getNumActive()=getMaxActive()-2。 有点忘了。
  logAbandoned=true的话,将会在回收事件后,在log中打印出回收Connection的错误信息,包括在哪个地方用了Connection却忘记关闭了,在调试的时候很有用。
  在这里私人建议maxWait的时间不要设得太长,maxWait如果设置太长那么客户端会等待很久才激发回收事件。
  以下是我的配置的properties文件:
#连接设置
jdbc.driverClassName=oracle.jdbc.driver.OracleDriver
jdbc.url=jdbc:oracle:thin:@127.0.0.1:1521:DBSERVER
jdbc.username=user
jdbc.password=pass

#<!-- 初始化连接 -->
dataSource.initialSize=10

#<!-- 最大空闲连接 -->
dataSource.maxIdle=20

#<!-- 最小空闲连接 -->
dataSource.minIdle=5

#最大连接数量
dataSource.maxActive=50

#是否在自动回收超时连接的时候打印连接的超时错误
dataSource.logAbandoned=true

#是否自动回收超时连接
dataSource.removeAbandoned=true

#超时时间(以秒数为单位)
#设置超时时间有一个要注意的地方,超时时间=现在的时间-程序中创建Connection的时间,如果maxActive比较大,比如超过100,那么removeAbandonedTimeout可以设置长一点比如180,也就是三分钟无响应的连接进行回收,当然应用的不同设置长度也不同。
dataSource.removeAbandonedTimeout=180

#<!-- 超时等待时间以毫秒为单位 -->
#maxWait代表当Connection用尽了,多久之后进行回收丢失连接
dataSource.maxWait=1000
分享到:
评论

相关推荐

    common-dbcp2数据库连接池参数说明

    为了更好地理解和配置这些参数,本文将详细解析`commons-dbcp2`中的一些关键参数及其意义。 #### 1. `maxIdle` - **参数描述**:表示连接池中最多能保持多少个空闲连接。 - **缺省值**:通常为8个。 - **重要性**:...

    commons DBCP 配置参数简要说明

    ### Commons DBCP 配置参数详解 #### 一、简介 Commons DBCP (Database Connection Pool) 是Apache Commons项目下的一个子项目,旨在提供一种高效管理数据库连接的方式。在大多数应用程序中,频繁地创建和销毁...

    dbcp三个jar包 oralce数据库

    标题中的“dbcp三个jar包 oralce数据库”指的是在Java编程中使用DBCP(Database Connection Pool)连接池来管理Oracle数据库的连接。DBCP是Apache软件基金会提供的一个开源的数据库连接池实现,它依赖于两个核心组件...

    DBCP配置说明

    ### DBCP配置说明 DBCP(Database Connection Pool)是Apache的一个开源项目,它提供了一种高效的数据库连接池管理方式,能够显著提高基于JDBC的应用程序性能。在使用DBCP时,合理设置其配置参数至关重要,这不仅能...

    commons中的DBCP连接池jar

    1. `commons-dbcp-1.4-javadoc.jar`:这个文件包含了DBCP 1.4版本的API文档,开发者可以查阅其中的类和方法说明,了解如何使用DBCP来建立和管理数据库连接池。 2. `commons-dbcp-1.4.jar`:这是DBCP的核心库,包含...

    dbcp3个相关jar包

    单独使用dbcp需要2个包:commons-dbcp.jar,commons-pool.jar由于建立数据库连接是一个非常耗时耗资源的行为,所以通过连接池预先同数据库建立一些连接,放在内存中,应用程序需要建立数据库连接时直接到连接池中申请...

    DBCP数据库连接池所需的3个jar包

    在DBCP中,`commons-collections-3.1.jar`、`commons-dbcp-1.2.2.jar` 和 `commons-pool.jar` 这三个JAR包扮演着关键角色: 1. `commons-collections-3.1.jar`:这是Apache Commons Collections库,提供了对集合...

    DBCP三个使用jar包

    DBCP(Database Connection Pool)是Apache Commons项目中的一个数据库连接池组件,用于管理数据库连接,提高应用程序的性能和效率。在Java开发中,数据库连接的创建和关闭是相对耗时的操作,而DBCP通过池化技术,...

    dbcp jar包 dbcp jar 包

    在提供的信息中,压缩包文件名为"dbcp",通常这个压缩包会包含DBCP所需的全部依赖,包括dbcp.jar和可能的commons-pool.jar。将这些jar包添加到项目的类路径中,就可以开始配置和使用DBCP了。 配置DBCP通常需要以下...

    dbcp配置中文版本

    Apache DBCP(Database Connection Pool)是一个开源的Java数据库连接池组件,它是Apache Commons库的一部分。DBCP的主要作用是管理数据库连接,提高数据库操作的效率和性能,通过连接池技术实现数据库连接的复用,...

    dbcp所需要jar

    在SpringMVC中配置DBCP来连接MySQL数据库,我们需要了解以下几个关键知识点: 1. **数据库连接池**:数据库连接池在初始化时会创建一定数量的数据库连接,这些连接可以在多个请求之间共享,避免了频繁创建和关闭...

    commons-dbcp jar包

    "使用说明.txt"可能包含有关如何在项目中配置和使用DBCP的详细步骤,包括但不限于: 1. 添加依赖:在Maven的pom.xml文件或Gradle的build.gradle文件中声明对DBCP的依赖。 2. 配置数据源:在Spring的配置文件中,...

    配置DBCP所用到的3个jar包

    DBCP(Database Connection Pool)是Apache Commons项目中的一个数据库连接池组件,用于管理数据库连接,提高应用程序的性能和效率。在Java应用中,通过DBCP可以有效地管理和复用数据库连接,避免频繁创建和关闭...

    开源数据库连接池dbcp

    开源数据库连接池DBCP,全称为Jakarta-Commons-DBCP,是Apache软件基金会Jakarta项目中的一个组件,主要用于解决Java应用程序与数据库之间的连接管理问题。DBCP提供了一个高效且可配置的数据库连接池,使得多个...

    DBCP依赖Jar包

    DBCP(Database Connection Pool)是Apache软件基金会的一个开源项目,全称为"Commons DBCP",它提供了一个数据库连接池服务。数据库连接池在应用服务器启动时建立一定数量的数据库连接,然后在应用程序需要时分配给...

    创建dbcp连接,dbcp(Spring)

    DBCP(Database Connection Pool)是Apache Commons项目中的一个数据库连接池组件,全称为Apache Commons DBCP。它允许开发者在应用程序中实现高效的数据库连接管理,通过复用已存在的数据库连接来减少每次请求时...

    DBCP连接池

    DBCP的配置主要涉及以下几个核心参数: 1. **maxActive**:最大活动连接数,超出此数值的连接请求将被阻塞,直到有连接归还。 2. **minIdle**:最小空闲连接数,确保在任何时候都有至少这么多的连接可供使用。 3. **...

    commons-dbcp-1.4

    Apache Commons DBCP 1.4 是一个在Java应用程序中管理数据库连接池的开源库。这个版本是在2009年发布的,它基于Jakarta DBCP项目,并且是Apache Commons的一部分,提供了一套完善的数据库连接池解决方案。Apache ...

    dbcp连接池常用包

    DBCP(Database Connection Pool)是Apache软件基金会的Commons项目中的一个数据库连接池组件,它提供了数据源管理和数据库连接复用的功能,以提高应用程序的性能和效率。在Java Web开发中,DBCP常用于管理数据库...

    dbcp相关jar包

    总的来说,Apache DBCP是Java应用程序中实现数据库连接池的一个经典选择,它与其他Apache Commons库一起,为开发者提供了高效、可靠的数据库连接管理方案。然而,随着技术的发展,现代的Java应用更多地转向了如...

Global site tag (gtag.js) - Google Analytics