#回收被遗弃的(一般是忘了释放的)数据库连接到连接池中。
dataBase.removeAbandoned =false
# 数据库连接过多长时间不用将被视为被遗弃而收回连接池中。
dataBase.removeAbandonedTimeout = 30
# 将被遗弃的数据库连接的回收记入日志。
dataBase.logAbandoned = false
#连接池的最大数据库连接数,设为0 表示无限制。
dataBase.maxActive = 200
#数据库连接的最大空闲连接数。超过此空闲连接数,,数据库连接将被标记为不可用,然后被释放。设为0 表示无限制。
dataBase.maxIdle=40
#最大建立连接等待时间。如果超过此时间将接到异常。设为-1 表示无限制
dataBase.maxWait=10000
#取得、返回对象和空闲时是否进行验证,检查对象是否有效,默认都为false即不验证
dataBase.testOnBorrow=true
dataBase.testWhileIdle=true
dataBase.testOnReturn=true
dataBase.validationQuery=select 1 from dual
说明:
1. #回收被遗弃的(一般是忘了释放的)数据库连接到连接池中。
dataBase.removeAbandoned =false
如果这个值为true一般是用来调试的时候用的,正式发布后应该改为false,2. # 将被遗弃的数据库连接的回收记入日志。
dataBase.logAbandoned = false
这个如果设置为true就会引起如下错误:
- DBCP object created 2006-10-25 09:08:02 by the following code was never closed:
- java.lang.Exception
-
at org.apache.commons.dbcp.AbandonedTrace.setStackTrace(AbandonedTrace.java:157)
-
at org.apache.commons.dbcp.AbandonedObjectPool.borrowObject(AbandonedObjectPool.java:76)
-
at org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:95)
-
at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:540)
- at org.apache.commons.dbcp.BasicDataSource$$FastClassByCGLIB$$de03396c.invoke(<generated>)
-
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
2.
#连接池的最大数据库连接数,设为0 表示无限制。
dataBase.maxActive = 200
#数据库连接的最大空闲时间。超过此空闲时间,数据库连接将被标记为不可用,然后被释放。设为0 表示无限制。
dataBase.maxIdle=40
会有可能出现:Cannot get a connection, pool error Timeout waiting for idle object这样的错误
分享到:
相关推荐
在SSH(Spring、Struts和Hibernate)这样的经典企业级开发框架中,DBCP连接池是一个常用的数据库管理工具。 1. **数据库连接池概念**:数据库连接池是在应用服务器启动时创建的,它会预先建立一定数量的数据库连接...
在IT行业中,数据库连接管理是应用系统开发中的关键环节,特别是在使用Java进行企业级开发时。...总之,整合Hibernate、Spring和DBCP连接池,可以构建出一个高效、灵活、易于维护的企业级数据库应用。
在标题"dbcp连接池常用包"中,"常用包"指的是DBCP连接池所需的必备库文件,这些文件包含了DBCP的不同版本,分别为1.3、1.4和1.5。每个版本可能对应着不同的功能特性和修复的bug,开发者可以根据项目的兼容性和需求...
在这个场景中,"dbcp连接池所需包"指的是用于配置和使用DBCP连接池的必要Java档案库(JAR包)。 首先,`commons-dbcp.jar`是DBCP的主要实现包,它包含了一系列用于管理和维护数据库连接的类和接口。这个库提供了...
总结起来,DBCP连接池是Java应用程序中管理和复用数据库连接的重要工具,通过合理配置和使用,能够显著提升数据库操作的效率,同时降低系统资源的消耗。在压缩包中的`dbcp`文件可能包含了DBCP的完整库,可以直接导入...
使用DBCP数据库连接池,你需要在你的Java项目中引入这三个JAR文件,并进行相应的配置。以下是一些基本配置步骤: 1. 将这三个JAR文件添加到项目的类路径中。 2. 创建一个XML配置文件(如`dbcp-config.xml`),定义...
数据库连接池技术的主要目的是提高系统性能,减少数据库操作中的资源开销,通过预先创建并管理一批数据库连接,使得应用程序在需要时能快速获取到数据库连接,而不需要每次都去建立新的连接。 在使用DBCP时,我们...
以下是一个简单的DBCP连接池配置示例,用于展示如何在Spring框架中配置DBCP连接池: ```xml <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> ${jdbc.url}"/> ${...
使用DBCP连接池时,开发者通常需要编写配置代码,例如使用XML配置文件或者在代码中直接配置。下面是一个简单的XML配置示例: ```xml <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" ...
下面将详细介绍DBCP连接池、DBUtils以及如何在项目中配置和使用它们: 1. **DBCP连接池** DBCP连接池的工作原理是预先在内存中创建一定数量的数据库连接,当应用程序需要时,可以从池中获取一个已存在的连接,而...
- 在Java应用中,需要通过XML或Java代码来配置DBCP连接池,包括设置初始化大小、最大连接数、超时时间、验证SQL等参数。 - 示例XML配置: ```xml <bean id="dataSource" class="org.apache.commons.dbcp....
数据源名`jdbc/LogDBCP`需要在Spring配置中声明,以关联到我们之前配置的DBCP连接池: ```xml <bean id="LogDBCP" class="org.springframework.jndi.JndiObjectFactoryBean"> ``` 最后,我们需要创建一个数据库...
在Spring框架中,数据库连接池是管理数据库连接的关键组件,它能有效地提高应用程序的性能和资源利用率。在上述内容中,提到了两种常用的连接池实现:Apache的DBCP(BasicDataSource)和C3P0(ComboPooledDataSource...
在实际应用中,DBCP连接池可以与其他中间件如Spring框架集成,简化管理和配置。同时,DBCP也有其局限性,比如性能和稳定性相比一些现代的连接池如HikariCP稍弱。因此,随着技术的发展,一些项目可能已经转向了更高效...
综上所述,DBCP数据库连接池是Java Web开发中常用的一种数据库连接管理工具,通过合理的配置和使用,可以显著提高应用的性能和稳定性。在实际项目中,结合Spring等框架,可以更便捷地管理和使用数据库连接。确保正确...
然而,DBCP连接池在某些情况下,由于其内部锁的实现不合理,会导致大量线程同时等待获取一个锁对象,这会大大增加线程上下文切换的开销,降低系统的吞吐量。另外,如果连接池中的连接资源耗尽,线程会阻塞等待,从而...
DBCP连接池还有一些其他可配置的参数,例如`maxWait`(最大等待时间),`validationQuery`(用于验证连接是否有效的SQL查询),`testOnBorrow`和`testOnReturn`(在借用或归还连接时是否执行验证)。这些参数可以...
标题“使用DBCP连接池所需要的jar包”指出,为了使用DBCP,我们需要导入特定的库文件。这些库文件包括: 1. **commons-dbcp-1.4.jar**:这是DBCP的主要实现包,包含了数据库连接池的实现和相关配置类。它提供了一个...
使用DBCP连接池,开发者需要在应用配置中设置相关参数,例如最小连接数、最大连接数、连接超时时间、验证SQL语句等。以下是一个简单的配置示例: ```xml <bean id="dataSource" class="org.apache.commons.dbcp....