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

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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值