`
royzhou1985
  • 浏览: 249929 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Tomcat 配置JNDI数据源总结

    博客分类:
  • Java
阅读更多
JNDI是J2EE中一个很重要的标准,通常我们是在J2EE编程中用到,Tomcat中提供了在JSP和Servelt中直接使用JNDI的方法,
主要是通过dbcp连接池,下面谈一下我在Tomcat5.5中配置和使用JNDI的方法。

在tomcat目录下的conf\Catalina\localhost\工程名字.xml
配置如下:

<Context docBase="D:\myprj\WebRoot"

         privileged="true" antiResourceLocking="false" antiJARLocking="false">
Tomcat5.5.9中数据库JNDI的名字

  <!-- Link to the user database we will get roles from -->

  <ResourceLink name="users" global="UserDatabase"

                type="org.apache.catalina.UserDatabase"/>



  <Resource name="jdbc/mysql"
            auth="Container"
            type="javax.sql.DataSource"                     
            driverClassName="com.mysql.jdbc.driver"  
            url="jdbc:mysql://localhost:3306/test"
            username="root"
            password="123456"
            maxActive="20"            
            maxIdle="10"
            maxWait="10000"/>
</Context>

name 表示指定的jndi名称
auth 表示认证方式,一般为Container
type 表示数据源床型,使用标准的javax.sql.DataSource
maxActive 表示连接池当中最大的数据库连接
maxIdle 表示最大的空闲连接数
maxWait 当池的数据库连接已经被占用的时候,最大等待时间
username 表示数据库用户名
password 表示数据库用户的密码
driverClassName 表示JDBC DRIVER
url 表示数据库URL地址

在工程的web.xml文件中引用我们的数据源

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee  
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  …
<resource-ref>
    <res-ref-name>jdbc/mysql</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
  </resource-ref>
</web-app>

获取datasource
Context initContext = new InitialContext();   
if (initContext == null)   
   System.out.println("获取不到数据源");   
Context envContext = (Context) initContext.lookup("java:comp/env/jdbc/mysql");   
DataSource ds = (DataSource) envContext.lookup("jdbc/mysql"); //根据名称取得数据源  

如果你使用其他数据源如DBCP数据源,需要在<Resouce 标签多添加一个属性如
factory="org.apache.commons.dbcp.BasicDataSourceFactory"
当然你也要把DBCP相关jar包放在tomcat的lib目录下。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics