1 配置数据源
如果我们要部署的是个WEB应用程序,我们将该应用程序放在TOMCAT_HOME/webapps目录下,有两种方式可以引用我们所配置的JNDI数
据源。
A:可以在TOMCAT_HOME/conf/Catalina/localhost下新建XXX.xml文件,XXX为所发布的WEB应用的名字,如
我所发布的WEB应用是JndiTest,.xml文件命名为JndiTest.xml在该文件内加:
如我所发布的WEB应用是test,.xml文件命名为test.xml在该文件内加:
reloadable="true"
crossContext="true">
value="15"/>
override="false"/>
factory
org.apache.commons.dbcp.BasicDataSourceFactory
driverClassName
COM.ibm.db2.jdbc.net.DB2Driver
url
jdbc:db2://localhost:6789/alisi
username
hain
password
bi2003
maxActive
20
maxIdle
10
maxWait
-1
其中E:\Java\tomcat\webapps\test为你所发布应用程序的目录,这样就可以进行测试了。
这样做就是每个WEB应用程序都须创建一个象test.xml这样的文件。
B 为了避免每个WEB应用程序都创建XXX.xml文件,我们可以修改TOMCAT_HOME/conf下的server.xml文件,修改如下:
在之间加入:
reloadable="true"
crossContext="true">
value="15"/>
override="false"/>
factory
org.apache.commons.dbcp.BasicDataSourceFactory
driverClassName
COM.ibm.db2.jdbc.net.DB2Driver
url
jdbc:db2://localhost:6789/alisi
username
ha
password
2005
maxActive
20
maxIdle
10
maxWait
-1
2 注意要在每个WEB应用程序的web.xml文件中都加入(不是必须的)
db2 Datasource example jdbc/mydb
javax.sql.DataSource
Container
3 测试代码
编写index.jsp文件:
Hi,
在IE里面输入http://127.0.0.1:8080/test/如果能显示出数据则配置成功
4 配置说明:
Resource项(即连接池的DataSource对象),有3个属性name、auth、type,name项是JNDI的名称定义,程序通过
JNDI才能找到此对象,这里取名jdbc/mydb;auth项即连接池管理权属性,这里取值Container,申明为容器管理;type项即对象
的类型,这里取值javax.sql.DataSource,申明为数据库连接池
在接下来的域内容里包含四个参数user、password、driverClassName、driverName,依次为数据库的用户名、密
码、JDBC驱动和数据库地址。
用户名、密码是为访问数据库准备的,取连接数据库的用户名和密码。
driverClassName即数据库的JDBC驱动名称,JDBC驱动包名叫db2java.zip,一般位于DB2安装目录下的IBM
\SQLLIB\java目录下,初始扩展名为ZIP,并放到common/lib下。这里又2种取值
COM.ibm.db2.jdbc.net.DB2Driver和COM.ibm.db2.jdbc.app.DB2Driver
接下来是即url,即数据库的地址
jdbc:db2://localhost:6789/masa_239和jdbc:db2:TEXT
在这里填写里的是db2的访问地址
接下来有三个参数,均为连接数相关,如下:
maxActive
20
maxIdle
10
maxWait
-1
maxActive是最大激活连接数,这里取值20个,表示同时最多有20个与数据库的连接。
maxIdle是最大空闲连接数,这里取值10个,表示即使没有连接请求时,依然可以保持10空闲的连接,而不被清除,随时处于待命状态。关于对象的状
态,有兴趣的朋友可以看看EJB方面的资料。
maxWait是最大等待秒钟数,这里取值-1,表示无限等待,直到超时为止,也可以取值9000,即表示9秒后超时。
关于maxActive与maxIdle的一点建议,对于企业级应用,其两者的值一般比较接近,或者相同,关键是要分析应用的大小。