Tomcat下配置MySQL數據庫連接池
發表于:2007-07-01來源:作者:點擊數:
標簽:
經過大半天的實踐和摸索,終于在 Tomcat 下成功地配置 MySQL 的 數據庫 連接池??偨Y如下: 1.在$CATALINA_HOME/conf/server.xml中添加配置信息,聲明連接池的具體信息,添加內容如下: !--聲明連接池-- Resource name=jdbc/ mysql auth=Container type=java
經過大半天的實踐和摸索,終于在
Tomcat下成功地配置
MySQL的
數據庫連接池??偨Y如下:
1.在$CATALINA_HOME/conf/server.xml中添加配置信息,聲明連接池的具體信息,添加內容如下:
<!--聲明連接池-->
<Resource name="jdbc/
mysql"auth="Container" type="javax.sql.DataSource"/>
<!-- 對連接池的參數進行設置 -->
<ResourceParamsname="jdbc/mysql">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>5000</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>20</value>
</parameter>
<parameter>
<name>username</name>
<value>shopadm</value>
</parameter>
<parameter>
<name>password</name>
<value>123</value>
</parameter>
<parameter>
<name>url</name> <value>jdbc:mysql://localhost/shopdb?useUnicode=true&charact-erEncoding=gb2312</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>com.mysql.jdbc.Driver</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>10</value>
</parameter>
</ResourceParams>
2. 在$CATALINA_HOME/conf/web.xml的</web-app>前添加如下信息:
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/mysql</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
其中<res-ref-name>中的參數名必須和server.xml中聲明的連接名一樣。
3. 在$CATALINA_HOME/conf/catalina/localhost目錄下找到需要進行數據庫連接的當前程序的配置信息,比如這里是shopping.xml,在這個文件中添加如下信息:
<Context …>
…
<ResourceLink name=”jdbc/mysql” global=”jdbc/mysql”type=”javax.sql.DataSource”/>
…
</Context>
大功告成!
在此基礎上,參考Tomcat官方網站的用戶手冊,摸索出另外一種配置連接池的方法,這個方法不需要對server.xml進行修改,只要對需要使用到連接池的程序的配置文檔進行修改就可以了。方法如下:
1.$CATALINA_HOME/conf/catalina/localhost目錄下找到需要數據庫連接池的程序的配置文檔,此處是shopping.xml。在<Context></Context>之間添加如下信息,聲明一個數據庫連接池:
<Resource name="jdbc/mysql"auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/mysql">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>5000</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>20</value>
</parameter>
<parameter>
<name>password</name>
<value>123</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:mysql://localhost/shopdb?useUnicode=true&characterEncoding=gb2312</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>com.mysql.jdbc.Driver</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>10</value>
</parameter>
<parameter>
<name>username</name>
<value>shopadm</value>
</parameter>
</ResourceParams>
這里的參數和上一種方法中添加到server.xml里的信息幾乎是完全一樣的。
2.在對應程序的WEB-INF下建立一個web.xml文檔,添加如下信息:
<?xml version="1.0"encoding="ISO-8859-1"?>
<web-appxmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<resource-ref>
<description>DBConnection</description>
<res-ref-name>jdbc/mysql</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
關鍵是斜體字的部分,指向前面聲明的連接池。
這兩種方法經
測試都能配置成功,顯然他們的“作用域”是不一樣的。另外,配置以后內部的引用以及運行機制,留待以后再深入研究。接下來先開始學習數據庫連接池和JSP的協同工作。
原文轉自:http://www.anti-gravitydesign.com