您的位置:首页 > 运维架构 > Tomcat

tomcat5.0与tomcat5.5的数据库连接池jndi配置区别

2006-12-13 20:20 736 查看
tomcat5.0与tomcat5.5的数据库连接池jndi配置区别
在tomcat5.5版本以前,可以说jndi配置相对是比较复杂的,而且据网友说用tomcat5.0的控制台配置数据库连接池经常有问题,而且文档写得又不详细。

tomcat5.5出来后,jndi的配置方法是大大地节省,而且很简洁,个人觉得比以前的版本好很多。这里大概给出一个配置例子。tomcat数据库连接池jndi配置有两种,一种是全局的,一种是context的,下面主要是讲全局的,并且以一个实例jdbc/byisdb为例子

一、tomcat5.0配置方法

1、首先在server.xml里面配置,找到下面的配置
<!-- Global JNDI resources -->
<GlobalNamingResources>
</GlobalNamingResources>

2、在里面增加一个Resource


<Resource name="jdbc/byisdb"


auth="Container"


type="javax.sql.DataSource"/>

3、在下面增加属性


<ResourceParams name="jdbc/byisdb">


<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里面增加


<resource-ref>


<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 initContext = new InitialContext();


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里面
添加下面的配置


<Resource name="jdbc/byisdb" auth="Container" type="javax.sql.DataSource" driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@192.168.1.210:1521:byisdb" username="una_oa" password="una_oa" maxActive="20" maxIdle="10" maxWait="10000"/>

2在你的应用的web.xml里面增加


<resource-ref>


<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>

同样,可以用上面的代码进行测试。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: