tomcat5.5出來後,jndi的配置方法是大大地節省,而且很簡潔,個人覺得比以前的版本好很多。這裏大概給出一個配置例子。tomcat數據庫連接池jndi配置有兩種,一種是全局的,一種是context的,下面主要是講全局的,並且以一個實例jdbc/byisdb爲例子
一、tomcat5.0配置方法
1、首先在server.xml裏面配置,找到下面的配置
<!-- Global JNDI resources -->
<GlobalNamingResources>
</GlobalNamingResources>
2、在裏面增加一個Resource
auth="Container"
type="javax.sql.DataSource"/>
3、在下面增加屬性
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<!-- Maximum number of dB connections in pool. Make sure you
configure your mysqld max_connections large enough to handle
all of your db connections. Set to 0 for no limit.
-->
<parameter>
<name>maxActive</name>
<value>100</value>
</parameter>
<!-- Maximum number of idle dB connections to retain in pool.
Set to -1 for no limit. See also the DBCP documentation on this
and the minEvictableIdleTimeMillis configuration parameter.
-->
<parameter>
<name>maxIdle</name>
<value>30</value>
</parameter>
<!-- Maximum time to wait for a dB connection to become available
in ms, in this example 10 seconds. An Exception is thrown if
this timeout is exceeded. Set to -1 to wait indefinitely.
-->
<parameter>
<name>maxWait</name>
<value>10000</value>
</parameter>
<!-- MySQL dB username and password for dB connections -->
<parameter>
<name>username</name>
<value>una_oa</value>
</parameter>
<parameter>
<name>password</name>
<value>una_oa</value>
</parameter>
<!-- Class name for the old mm.mysql JDBC driver - uncomment this entry and comment next
if you want to use this driver - we recommend using Connector/J though
<parameter>
<name>driverClassName</name>
<value>org.gjt.mm.mysql.Driver</value>
</parameter>
-->
<!-- Class name for the official MySQL Connector/J driver -->
<parameter>
<name>driverClassName</name>
<value>oracle.jdbc.driver.OracleDriver</value>
</parameter>
<!-- The JDBC connection url for connecting to your MySQL dB.
The autoReconnect=true argument to the url makes sure that the
mm.mysql JDBC Driver will automatically reconnect if mysqld closed the
connection. mysqld by default closes idle connections after 8 hours.
-->
<parameter>
<name>url</name>
<value>jdbc:oracle:thin:@192.168.1.210:1521:byisdb</value>
</parameter>
</ResourceParams>
4、在你的應用的web.xml裏面增加
<description>postgreSQL Datasource example</description>
<res-ref-name>jdbc/byisdb</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
OK,到此配置完畢,可以用下面的幾段代碼進行測試
Context envContext = (Context)initContext.lookup("java:/comp/env");
DataSource ds = (DataSource)envContext.lookup("jdbc/byisdb");
Connection conn = ds.getConnection();
out.println("conn is:"+conn);
二、tomcat5.5配置
1、打開conf/context.xml裏面
添加下面的配置
2在你的應用的web.xml裏面增加
<description>postgreSQL Datasource example</description>
<res-ref-name>jdbc/byisdb</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
同樣,可以用上面的代碼進行測試。