在程序中,我们经常建立与数据库的连接,之后在关闭连接。这个过程是频繁的,并且极其耗费资源。这一点在多用户的网页应用程序中体现的尤为突出。对数据库连接管理能显著影响到整个应用程序的伸缩性和健壮性。数据库连接池正是针对这个问题提出的。
数据库连接池负责分配,管理和释放数据库连接,他允许应用程序重复使用一个现有的数据库连接,而不再是重新建立一个连接。数据库连接池在初始化时将创建一定量的连接放在连接池中,数量有最小数据库连接数量来决定的。无论是否被使用,连接池中都保存有至少拥有这么多数量的连接。当应用程序向连接池发送请求超过最大连接数量时,这些请求将被加入等待队伍中。
在建立数据库连接池我们首先需要对context.xml文件进行配置
在Tomcat根目录\conf\context.xml文件中<Context>节点中添加<Resource>信息内容如下:
<Resource name="jdbc/books" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="sa" passWord="sa" driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver" url="jdbc:sqlserver://localhost:1433;databaseName=bookShop"/>
注:在我们使用的过程中会发现当我们的项目迁移到其它电脑上时还需从新配置contex.xml文件 相当麻烦。
建议在项目META-INF下面穿件context.xml 添加以上内容,如原\conf\context.xml文件中已有配置须删除。
配置web.xml文件
在项目的的Web-INF/Web.xml文件<web-app>节点下添加<resourse-ref>信息
<resource-ref>
<description>bookShop DataSource</description>
<res-ref-name>jdbc/books</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
一切准备工作完成后就可以通过一下代码获得名称为jdbc/books的数据源引用:
Context ctx=new InitialContext();
DataSource ds =(DataSource) ctx.lookup("java:comp/env/jdbc/books");
Connection conn = ds.getConnection() //得到数据库连接
此文章由 http://www.ositren.com 收集整理 ,地址为:
http://www.ositren.com/htmls/68251.html