使用ApplicationServer级别的连接池, 在ApplicationServer内的几个webapp间共享连接池以节约总的连接数,也可以为每个webapp独立分配以保证关键应用的供应。
01 |
<bean id= "dataSourceDbcp"
|
02 |
class = "org.apache.commons.dbcp.BasicDataSource" scope= "singleton" >
|
03 |
<property name= "driverClassName" >
|
04 |
<value>oracle.jdbc.driver.OracleDriver</value>
|
07 |
<value>jdbc:oracle:thin: @10 .78. 222.131 : 1521 :mos5100</value>
|
09 |
<property name= "username" >
|
10 |
<value>inventory</value>
|
12 |
<property name= "password" >
|
13 |
<value>inventory</value>
|
15 |
<property name= "initialSize" >
|
18 |
<property name= "maxActive" >
|
( 以下内容摘在springside):
DBCP的性能配置主要是4个参数
#连接池启动时的初始值.
#连接池的最大值.
#最大空闲值.当经过一个高峰时间后,连接池可以慢慢将已经用不到的连接慢慢释放一部分,一直减少到maxIdle为止。
#最小空闲值.当空闲的连接数少于阀值时,连接池就会预申请去一些连接,以免洪峰来时来不及申请。
一般这几个参数应该放在applicationContext.properties里方便部署时快速修改。
有两种配置风格,
- 比如较少使用者的管理界面,平时的使用者不多,但瞬时可能会有较多的使用者,如Mini-Web,会设置一个较低的maxIdle 而设置较高的maxActive。
- 比如长期高负荷运行的业务系统,会设置一个合理的maxIdle值,且maxActive==maxIdle
长期idle连接的处理:
Mysql服务端会断开超过8小时的空闲连接,如果系统只在白天工作时间被使用,DBCP的连接就很容易被断开的连接,而且DBCP对jdbc url里设置autoReconnect=true是无效。
更好的做法DBCP主动断开超时的连接。
#运行判断连接超时任务的时间间隔,单位为毫秒,默认为-1,即不执行任务。
timeBetweenEvictionRunsMillis=3600000
#连接的超时时间,默认为半小时。
minEvictableIdleTimeMillis=3600000
经测试,按上面的设置,DBCP会在连接idle两小时后将其断开。
<script type="text/javascript"></script>
分享到:
相关推荐
在SSH(Spring、Struts和Hibernate)这样的经典企业级开发框架中,DBCP连接池是一个常用的数据库管理工具。 1. **数据库连接池概念**:数据库连接池是在应用服务器启动时创建的,它会预先建立一定数量的数据库连接...
在标题"dbcp连接池常用包"中,"常用包"指的是DBCP连接池所需的必备库文件,这些文件包含了DBCP的不同版本,分别为1.3、1.4和1.5。每个版本可能对应着不同的功能特性和修复的bug,开发者可以根据项目的兼容性和需求...
在这个场景中,"dbcp连接池所需包"指的是用于配置和使用DBCP连接池的必要Java档案库(JAR包)。 首先,`commons-dbcp.jar`是DBCP的主要实现包,它包含了一系列用于管理和维护数据库连接的类和接口。这个库提供了...
在Spring中配置DBCP连接池,可以通过以下方式: ```xml <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> ``` 这里配置了数据库驱动类(driverClassName)、数据库URL(url...
在IT行业中,数据库连接管理是应用系统开发中的关键环节,特别是在使用Java进行企业级开发时。...总之,整合Hibernate、Spring和DBCP连接池,可以构建出一个高效、灵活、易于维护的企业级数据库应用。
总结起来,DBCP连接池是Java应用程序中管理和复用数据库连接的重要工具,通过合理配置和使用,能够显著提升数据库操作的效率,同时降低系统资源的消耗。在压缩包中的`dbcp`文件可能包含了DBCP的完整库,可以直接导入...
Apache的DBCP是Spring早期常见的连接池实现。在示例配置中,可以看到`<bean>`标签定义了一个名为`dataSource`的数据源实例,类为`org.apache.commons.dbcp.BasicDataSource`。配置参数包括: - `driverClassName`...
在使用DBCP时,我们需要配置一系列参数来定制连接池的行为。以下是一些主要的配置参数及其说明: 1. `username` 和 `password`:这两个参数用于设置连接数据库所需的用户名和密码,它们会被传递给JDBC驱动进行身份...
下面将详细介绍DBCP连接池、DBUtils以及如何在项目中配置和使用它们: 1. **DBCP连接池** DBCP连接池的工作原理是预先在内存中创建一定数量的数据库连接,当应用程序需要时,可以从池中获取一个已存在的连接,而...
数据源名`jdbc/LogDBCP`需要在Spring配置中声明,以关联到我们之前配置的DBCP连接池: ```xml <bean id="LogDBCP" class="org.springframework.jndi.JndiObjectFactoryBean"> ``` 最后,我们需要创建一个数据库...
使用DBCP数据库连接池,你需要在你的Java项目中引入这三个JAR文件,并进行相应的配置。以下是一些基本配置步骤: 1. 将这三个JAR文件添加到项目的类路径中。 2. 创建一个XML配置文件(如`dbcp-config.xml`),定义...
使用DBCP连接池时,开发者通常需要编写配置代码,例如使用XML配置文件或者在代码中直接配置。下面是一个简单的XML配置示例: ```xml <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" ...
- 在Java应用中,需要通过XML或Java代码来配置DBCP连接池,包括设置初始化大小、最大连接数、超时时间、验证SQL等参数。 - 示例XML配置: ```xml <bean id="dataSource" class="org.apache.commons.dbcp....
在实际应用中,DBCP连接池可以与其他中间件如Spring框架集成,简化管理和配置。同时,DBCP也有其局限性,比如性能和稳定性相比一些现代的连接池如HikariCP稍弱。因此,随着技术的发展,一些项目可能已经转向了更高效...
综上所述,DBCP数据库连接池是Java Web开发中常用的一种数据库连接管理工具,通过合理的配置和使用,可以显著提高应用的性能和稳定性。在实际项目中,结合Spring等框架,可以更便捷地管理和使用数据库连接。确保正确...
在DBCP中,这个库被用于辅助处理连接池中的数据结构,如连接池的配置信息。 3. **commons-pool-1.5.4.jar**:Apache Commons Pool是对象池化的实现,DBCP利用这个库来管理数据库连接,确保它们可以在多个请求之间...
2. AOP(面向切面编程)集成:可以使用Struts的拦截器或者Spring AOP来注入数据源,使得每次数据库操作都能获取到连接池中的连接。 3. 数据访问对象(DAO)层:在DAO层的接口和实现类中,使用`BasicDataSource`获取...
除了XML配置,还可以通过Java代码自定义实现DBCP连接池,如示例代码所示,创建一个名为`DbcpDataSource`的类,该类中包含获取DataSource、ConnectionFactory的方法,以及获取当前活跃连接数和最大活跃连接数的方法。...