Tomcat自带DBCP数据库连接池配置
Posted z_fishLong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Tomcat自带DBCP数据库连接池配置相关的知识,希望对你有一定的参考价值。
1.在Web应用中用户量非常大,对每个用户的请求都需要进行数据库操作,包括:建立连接、操作数据、释放连接,效率比较低.数据库连接池(DBCP, Database Connection Pool)通过共享连接来减少连接的创建和释放需要的时间,从而提高效率。并且连接池可以对连接的数量进行管理从而充分利用服务器的资源
2. 配置步骤
a)方式一:在tomcat下的server.xml中配置
<Context path="/JSPProject"
docBase="JSPProject"
debug="5"
reloadable="true"
crossContext="true">
<Resource name="jdbc/TestDB"
auth="Container"
type="javax.sql.DataSource"
maxActive="100" //池中最大连接数,-1为无限制
maxIdle="30" //最大空闲连接数,-1为无限制
maxWait="10000" //连接变成再次可用的等待时间,-1无限等待
username="root"
password="root"
driverClassName=“com.mysql.jdbc.Driver” //JDBC驱动名
url="jdbc:mysql://127.0.0.1:3306/JSPProject?autoReconnect=true"/>
</Context>
注意:这种方式为tomcat下的所有webapp都配置了数据源。如果只是为特定的web程序配置数据源这种方法显然是不合适的。
b )方式二:在META-INF新建context.xml文件,内容为
<?xml version='1.0' encoding='utf-8'?>
<Context>
<Resource name="jdbc/TestDB"
auth="Container"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
username="root"
password=""
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://127.0.0.1:3306/JSPProject?autoReconnect=true"/>
</Context>
配置web.xml:
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/TestDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
c)访问链接池中的连接
//设置上下文环境
Context initContext = new InitialContext();
//查找数据源
Context envContext = (Context)initContext.lookup("java:/comp/env");
DataSource ds = (DataSource)envContext.lookup("jdbc/TestDB");
//从连接池中获取连接
Connection conn = ds.getConnection();
以上是关于Tomcat自带DBCP数据库连接池配置的主要内容,如果未能解决你的问题,请参考以下文章