最近整理了一下项目的数据库连接问题,使用apache dbcp连接池:
1、配置JNDI数据源:
在META-INF下新建context.xml,记得是META-INF下,内容
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<Resource name="jdbc/MySqlPooledDS"
auth="Container"
type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf-8"
username="root"
password="root" />
</Context>
2、配置连接池
public static DataSource setupDataSource() throws Exception{
// First, we'll need a ObjectPool that serves as the actual pool of connections.
GenericObjectPool pool = new GenericObjectPool(null, 100);
pool.setMaxIdle(16);
pool.setMaxWait(5000);
pool.setMinIdle(8);
javax.naming.InitialContext ctx = new javax.naming.InitialContext();
Context context = (Context) ctx.lookup("java:comp/env");
DataSource ds = (DataSource) context.lookup("jdbc/MySqlPooledDS");
// Next, we'll create a ConnectionFactory that the pool will use to create Connections.
ConnectionFactory connectionFactory =
new DataSourceConnectionFactory(ds);
// Now we'll create the PoolableConnectionFactory,
// which wraps the "real" Connections created by the ConnectionFactory with
// the classes that implement the pooling functionality.
PoolableConnectionFactory poolableConnectionFactory =
new PoolableConnectionFactory(connectionFactory, pool, null, null, false, true);
//Finally, we create the PoolingDriver itself, passing in the object pool we created.
DataSource dataSource = new PoolingDataSource(pool);
return dataSource;
}
3、利用创建好的连接池取得连接
DataSource dataSource = setupDataSource();
Connection conn = dataSource.getConnection();
分享到:
相关推荐
在实际使用DBCP连接池时,我们需要配置以下几个关键参数: - **maxActive**:最大活动连接数,超过这个数量的请求将等待,直到有连接被归还。 - **minIdle**:最小空闲连接数,即使当前没有应用程序使用,也会保持...
DBCP(Database Connection Pool)是Apache组织提供的一个开源数据库连接池组件,全称为"Commons DBCP"。它在Java应用中起到了管理和复用...在实际项目开发中,正确配置和使用DBCP连接池对于提升系统性能至关重要。
3. **commons-pool-1.5.6.jar**:Apache Commons Pool是对象池设计模式的实现,DBCP连接池依赖于这个库来管理其内部的数据库连接对象。对象池允许开发者在应用程序中复用已经创建的对象,而不是每次需要时都创建新的...
在这个"dbcp连接池使用例子"中,我们将深入理解DBCP的工作原理、配置方法以及如何在实际项目中集成和使用。 DBCP连接池的基本概念: 1. 数据库连接池:在应用程序启动时,预先创建并维护一定数量的数据库连接,这些...
DBCP连接池在Java应用中被广泛使用,尤其是在Web应用服务器中,如Tomcat。 DBCP主要由两个核心组件组成: 1. `commons-dbcp.jar`:这是DBCP的主要库,包含了数据库连接池的实现。它提供了DataSource接口的实现,...
DBCP(Database Connection Pool)是Apache软件基金会的Commons DBCP项目提供的一个数据库连接池组件,它在Java应用程序中用于管理和复用数据库连接。连接池是提高数据库应用性能的重要手段,通过预先创建并维护一定...
在Java中,使用DBCP连接池的基本步骤包括: 1. 引入DBCP的jar包(如commons-dbcp2-2.2.0.jar)。 2. 配置数据库连接参数,如URL、用户名、密码等。 3. 创建BasicDataSource实例,设置连接池的属性,如最大连接数、...
总的来说,Java DBCP连接池是Java应用中管理和优化数据库连接的有效工具,通过合理配置和使用,能够显著提升应用的数据库访问性能,同时降低资源消耗。在实际开发中,开发者应根据项目需求和性能要求选择合适的连接...
Apache DBCP(Database Connection Pool)是Apache软件基金会下的一个开源项目,主要提供数据库连接池服务。数据库连接池在Java应用程序中扮演着重要的角色,它能够有效地管理数据库连接,提高应用性能并降低资源...
**DBCP连接池的工作原理:** 1. **初始化**:在应用程序启动时,DBCP会预先创建一定数量的数据库连接并放入连接池。 2. **请求连接**:当程序需要与数据库交互时,它向连接池请求一个连接。连接池检查是否有空闲的...
DBCP(Database Connection Pool)是Apache组织提供的一种开源数据库连接池组件,主要...总的来说,DBCP连接池是Java应用程序中用于高效管理数据库连接的重要工具,通过合理的配置和使用,可以显著提升系统运行效率。
DBCP(Database Connection Pool)是Apache组织提供的一个开源数据库连接池组件,全称为...通过合理地配置和使用DBCP连接池,开发者可以在SSH框架下实现高效、稳定的数据库操作,提升整个应用的性能和用户体验。
DBCP(Database Connection Pool)是Apache Commons项目中的一个数据库连接池组件,主要目的是为了提高数据库连接的复用性,减少创建和销毁连接的开销,从而提升应用的性能。DBCP2是其第二个主要版本,提供了更稳定...
"表明这是一个学习和使用DBCP连接池时会用到的资源集合。学习DBCP连接池主要包括以下几个方面: 1. **概念理解**:了解数据库连接池的概念,它是如何通过池化技术来管理数据库连接,减少系统开销并提升系统响应速度...
DBCP连接池在应用启动时会预先创建一定数量的数据库连接,并将这些连接放入池中。当应用需要与数据库交互时,它从池中获取一个已建立的连接,用完后再归还回池,而不是每次操作都创建新的连接。这种机制可以显著提高...
在这个场景中,"dbcp连接池所需包"指的是用于配置和使用DBCP连接池的必要Java档案库(JAR包)。 首先,`commons-dbcp.jar`是DBCP的主要实现包,它包含了一系列用于管理和维护数据库连接的类和接口。这个库提供了...
DBCP连接池的使用主要包括以下几个关键步骤: 1. **配置数据库连接参数**:在使用DBCP之前,需要配置数据库的相关参数,如数据库URL、用户名、密码、驱动类名等,这些信息通常写入配置文件(如`dbcp.properties`)...
### DBCP连接池原理分析 #### DBCP概述与版本区分 DBCP(Database Connection Pool)是由Apache组织提供的一款开源连接池实现。它能够帮助应用程序有效地管理与数据库的连接资源,通过重用预创建的数据库连接来...