在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
>
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);
<
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"
/>
<
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
>
同样,可以用上面的代码进行测试。
tomcat5.5出来后,jndi的配置方法是大大地节省,而且很简洁,个人觉得比以前的版本好很多。这里大概给出一个配置例子。tomcat数据库连接池jndi配置有两种,一种是全局的,一种是context的,下面主要是讲全局的,并且以一个实例jdbc/byisdb为例子
一、tomcat5.0配置方法
1、首先在server.xml里面配置,找到下面的配置
<!-- Global JNDI resources -->
<GlobalNamingResources>
</GlobalNamingResources>
2、在里面增加一个Resource



3、在下面增加属性



































































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






OK,到此配置完毕,可以用下面的几段代码进行测试





二、tomcat5.5配置
1、打开conf/context.xml里面
添加下面的配置

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






同样,可以用上面的代码进行测试。