关闭

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

2177人阅读 评论(0) 收藏 举报

JDBC Data Sources 的配置和Generic JavaBean Resources的配置基本一样。

 

1.      安装驱动:

jar包放到$CATALINA_HOME/common/lib目录下

 

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

<resource-ref>
  <description>
    Resource reference to a factory for java.sql.Connection
    instances that may be used for talking to a particular
    database that is configured in the server.xml file.
  </description>
  <res-ref-name>
    jdbc/EmployeeDB
  </res-ref-name>
  <res-type>
    javax.sql.DataSource
  </res-type>
  <res-auth>
    Container
  </res-auth>
</resource-ref>

 

所有资源工厂的root contextjava:comp/env,这里声明了一个subcontextjdbc

 

3.      对应的 .xml文件配置:

<Context ...>
  ...
  <Resource name="jdbc/EmployeeDB" auth="Container"
            type="javax.sql.DataSource"/>
  <ResourceParams name="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.      资源引用的典型用法(在程序中使用配置好的资源)

Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
DataSource ds = (DataSource)
  envCtx.lookup("jdbc/EmployeeDB");
 
Connection conn = ds.getConnection();
... use this connection to access the database ...
conn.close();

 

 

参数说明:

·         driverClassName – JDBC驱动类的全名。

·         maxActive -同一时刻连接池中最大动态连接数。

·         maxIdle - 同一时刻连接池中最大闲置连接数。

·         maxWait - 当连接池中没有可用连接时,连接池最长等待时间。超时的话,连接池将返回一个异常。

·         password - 数据库用户密码

·         url - 数据库连接URL

·         user - 数据库用户名

·         validationQuery - 提供给连接池,用于验证连接的SQL语句如果指定的话,该语句必须是至少返回一行的select语句。

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:175648次
    • 积分:2920
    • 等级:
    • 排名:第12547名
    • 原创:96篇
    • 转载:19篇
    • 译文:12篇
    • 评论:3条