tomcat技术:配置数据库连接池

        数据库连接是比较耗时的操作,如果每次访问数据库都开闭一次连接的话,在大批量访问时,必然会导致性能问题,于是这里成为了你的性能瓶颈。为了解决这个问题,提出了连接池的想法。
        其原理大致为:维护一个数据库连接队列,每次使用的时候,到空闲的连接队列中取一个,使用后再将连接放回连接池,这个连接池允许配置最大活动连接数和最大空闲连接数、最大等待数,数量过大也耗内存,数量过少,和没有配置一样,所以在配置的时候,需要多少连接根据自己的程序访问数据库的频率、同时访问量而定。
        下面介绍具体的配置,实际上,我是参考了http://tomacat.apache.org上面的介绍。配置前先说明我使用的环境。
        操作系统:Windows XP
        数据库服务器:MySQL 5.0
        web服务器:tomcat 6.0
        
        首先更改tomcat下面的配置文件,位置:%TOMCAT_HOME%\conf\server.xml,我的TOMCAT_HOME是D:\Program Files\Apache Software Foundation\Tomcat 6.0。在<host></host>之间添加下面的内容(加粗的为添加的内容):
       
<Host name="localhost"  appBase="webapps"
      unpackWARs
="true" autoDeploy="true"
      xmlValidation
="false" xmlNamespaceAware="false">
    

<Context path="/DBTest" docBase="DBTest"
        debug
="5" reloadable="true" crossContext="true">
<Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource"
               maxActive
="100" maxIdle="30" maxWait="10000"
               username
="root" password="hanry112358" driverClassName="com.mysql.jdbc.Driver"
               url
="jdbc:mysql://localhost:3306/test?autoReconnect=true"/>
</Context>


</Host>

        其中:/DBTest是放在webapps下面的工程名称,jdbc是自己对连接的命名,在下面的访问中要用到,最大的活跃连接数、最大空闲的连接数、最大等待连接数目都是可自行设置的。username、password、url根据自己的数据库连接进行设置
        然后更改web.xml(DBTest\WEB-INF\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>

        这里唯一需要注意的就是jdbc/TestDB与第一步中是对应的。
        最后在类中读取连接池的配置,代码如下:
        
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;



Context initContext = new InitialContext();
Context envContext  = (Context)initContext.lookup("java:/comp/env");
DataSource ds = (DataSource)envContext.lookup("jdbc/TestDB");
Connection conn = ds.getConnection();

        
           到此连接池的配置就结束了,想了解更多关于数据库连接池的配置,到官网吧。

posted on 2009-05-12 13:51 hanry 阅读(208) 评论(0)  编辑  收藏 所属分类: 技术学习

<2025年7月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

导航

统计

留言簿

随笔分类

文章分类(7)

文章档案(7)

开发技术学习资源

搜索

最新评论