技术开发 频道

Tomcat5的数据库连接池配置


IT168技术文档】 
    本文主要介绍Tomcat5.0.25这个版本下数据库连接池的配置,及程序对连接池的JNDI查找,并提供相应测试代码。最后指出配置及应用过程中的常见问题及解决方法。 

    1 .该文的配置环境:Tomcat5.0.25 + jdk1.4+ Sql Server 2000+Win2000 
    2.配置步骤: 

    第一步: 
    启动Tomcat,打开IE在地址栏内输入http://localhost:8080/admin 进入Tomcat的管理界面;点击右边的Data Sources 在右上角的下拉菜单中选择Create New Data Source 在下边的输入框中输入需要的配置信息。 

    JNDI Name:jdbc/XXX(XXX为自己所命的名字) 
    Data Source URL:jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=tempdb(连接的数据名) 
    JDBC Driver Class: com.microsoft.jdbc.sqlserver.SQLServerDriver 
    User Name:连接数据库的用户名 
    Password: 数据库密码 
    Max. Active Connections: 最大连接数 
    Max. Idle Connections: 是最大的空闲连接数 
    Max. Wait for Connection: 最大等待连接数 
    
    第二步:配置web.xml 
    打开webapps/ROOT/WEB-INF下web.xml,加入如下内容:
<resource-ref> <description>SqlServer Datasource example</description> <res-ref-name>jdbc/SqlServerDB</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref>
    第三步:配置tomcat(添加类) 
    首先要下载安装sqlserver-jdbc-驱动,然后将其lib下的三个jar文件放到tomcat/common/lib下。 

    注意事项:

    如果是单个JSP页面我们将它放在TOMCAT_HOME/webapps/ROOT下边,同时还须修改TOMCAT_HOME/conf/Catalina/localhost/下的ROOT.xml文件,在
<Resource auth="Container" description="SqlServer Datasource example" name="jdbc/SqlServerDB" type="javax.sql.DataSource"/>下边加入:
<ResourceLink global="jdbc/test" name="jdbc/test" type="javax.sql.DataSource"/>
来引用所配置的JNDI数据源。同时将<Resource auth="Container" description="SqlServer Datasource example" name="jdbc/SqlServerDB" type="javax.sql.DataSource"/>注释掉.

    如果我们要部署的是个WEB应用程序,我们将该应用程序放在TOMCAT_HOME/webapps目录下,有两种方式可以引用我们所配置的JNDI数据源。 

    第一种:
    可以在TOMCAT_HOME/conf/Catalina/localhost下新建XXX.xml文件,XXX为所发布的WEB应用的名字,如我所发布的WEB应用是JndiTest,.xml文件命名为JndiTest.xml在该文件内加:
<?xml version='1.0' encoding='utf-8'?> <Context debug="1" docBase="E:/Tomcat 5.0/webapps/JndiTest"
path="/JndiTest" reloadable="true" workDir="work\Catalina\localhost\JndiTest"> <Resource name="jdbc/test" type="javax.sql.DataSource"/> <ResourceParams name="jdbc/test"> <parameter> <name>factory</name> <value>org.apache.commons.dbcp.BasicDataSourceFactory</value> </parameter> <parameter> <name>password</name> <value>jsjrj</value> </parameter> <parameter> <name>maxActive</name> <value>4</value> </parameter> <parameter> <name>maxWait</name> <value>5000</value> </parameter> <parameter> <name>url</name> <value>jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=tempdb</value> </parameter> <parameter> <name>driverClassName</name> <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value> </parameter> <parameter> <name>username</name> <value>sa</value> </parameter> <parameter> <name>maxIdle</name> <value>2</value> </parameter> </ResourceParams> </Context>
    其中E:/Tomcat 5.0/webapps/JndiTest为你所发布应用程序的目录,这样就可以进行测试了。这样做就是每个WEB应用程序都须创建一个象JndiTest.xml这样的文件。
0
相关文章