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

Tomcat5 中JNDI Resources配置 ------ JDBC 数据源配置(JDBC Data Sources)

2006-05-29 18:08 399 查看
JDBCDataSources的配置和GenericJavaBeanResources的配置基本一样。

1.安装驱动:
把jar包放到$CATALINA_HOME/common/lib目录下

2.声明资源需求,在web.xml文件中添加如下信息:
<resource-ref>

<description>

Resourcereferencetoafactoryforjava.sql.Connection

instancesthatmaybeusedfortalkingtoaparticular

databasethatisconfiguredintheserver.xmlfile.

</description>

<res-ref-name>

jdbc/EmployeeDB

</res-ref-name>

<res-type>

javax.sql.DataSource

</res-type>

<res-auth>

Container

</res-auth>

</resource-ref>


所有资源工厂的rootcontext是java:comp/env,这里声明了一个subcontext:jdbc。

3.对应的.xml文件配置:
<Context...>

...

<Resourcename="jdbc/EmployeeDB"auth="Container"

type="javax.sql.DataSource"/>

<ResourceParamsname="jdbc/EmployeeDB">

<parameter>

<name>username</name>

<value>dbusername</value>

</parameter>

<parameter>

<name>password</name>

<value>dbpassword</value>

</parameter>

<parameter>

<name>driverClassName</name>

<value>org.hsql.jdbcDriver</value>

</parameter>

<parameter>

<name>url</name>

<value>jdbc:HypersonicSQL:database</value>

</parameter>

<parameter>

<name>maxActive</name>

<value>8</value>

</parameter>

<parameter>

<name>maxIdle</name>

<value>4</value>

</parameter>

</ResourceParams>

...

</Context>


4.资源引用的典型用法(在程序中使用配置好的资源)
ContextinitCtx=newInitialContext();

ContextenvCtx=(Context)initCtx.lookup("java:comp/env");

DataSourceds=(DataSource)

envCtx.lookup("jdbc/EmployeeDB");


Connectionconn=ds.getConnection();

...usethisconnectiontoaccessthedatabase...

conn.close();


参数说明:
·driverClassName–JDBC驱动类的全名。
·maxActive-同一时刻连接池中最大动态连接数。
·maxIdle-同一时刻连接池中最大闲置连接数。
·maxWait-当连接池中没有可用连接时,连接池最长等待时间。超时的话,连接池将返回一个异常。
·password-数据库用户密码
·url-数据库连接URL
·user-数据库用户名
·validationQuery-提供给连接池,用于验证连接的SQL语句如果指定的话,该语句必须是至少返回一行的select语句。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: