JNDI数据源的配置

转载 2016年05月31日 17:47:13
有全局配置和局部配置。大致的有以下三种配置方式:

 

 第一种:全局配置。

1)在tomcat的conf文件夹下的context.xml配置文件中加入:

  1. <Resource name="jndi/mybatis"   
  2.             auth="Container"   
  3.             type="javax.sql.DataSource"   
  4.             driverClassName="com.mysql.jdbc.Driver"   
  5.             url="jdbc:mysql://localhost:3306/appdb"   
  6.             username="root"   
  7.             password="123456"   
  8.             maxActive="20"   
  9.             maxIdle="10"   
  10.             maxWait="10000"/>      


2)在项目的web.xml中加入资源引用:

  1. <resource-ref>  
  2.   <description>JNDI DataSource</description>  
  3.   <res-ref-name>jndi/mybatis</res-ref-name>  
  4.   <res-ref-type>javax.sql.DataSource</res-ref-type>  
  5.   <res-auth>Container</res-auth>  
  6. </resource-ref>  

其中res-ref-name值要和context.xml的name值一致。

在3.0项目的web.xml中添加的资源引用可有可无。

 

3)jndi测试方法:

  1. public void testJNDI() throws NamingException, SQLException{  
  2.     Context ctx = new InitialContext();  
  3.     DataSource ds = (DataSource) ctx.lookup("java:comp/env/jndi/mybatis");  
  4.     Connection conn = ds.getConnection();  
  5.     System.out.println(conn.isClosed());  
  6.   
  7. }  


4)在jsp中调用加载jndi方式,不可以直接用main方法测试,必须通过启动容器从jsp中调用:

  1. TestPageAccessURL test = new TestPageAccessURL();  
  2. test.testJNDI();  


 

第二种:局部配置(不推荐)。

1)在tomcat的server.xml的<host>标签内,添加:

  1. <Context path="/demo_jndi" docBase="/demo_jndi">  
  2.    <Resource  
  3.      name="jndi/mybatis"  
  4.      type="javax.sql.DataSource"  
  5.      driverClassName="com.mysql.jdbc.Driver"  
  6.      maxIdle="2"  
  7.      maxWait="5000"  
  8.      username="root"  
  9.      password="123456"  
  10.      url="jdbc:mysql://localhost:3306/appdb"  
  11.      maxActive="4"/>  
  12. </Context>  

其他配置同第一种方式。

 

第三种:局部配置。

1)在项目的META-INFO下面新建context.xml。加入:

  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <Context>  
  3.     <Resource name="jndi/mybatis"   
  4.                 auth="Container"   
  5.                 type="javax.sql.DataSource"   
  6.                 driverClassName="com.mysql.jdbc.Driver"   
  7.                 url="jdbc:mysql://localhost:3306/appdb"   
  8.                 username="root"   
  9.                 password="123456"   
  10.                 maxActive="20"   
  11.                 maxIdle="10"   
  12.                 maxWait="10000"/>      
  13. </Context>  

其他配置同第一种方式。

总结:如果要配置局部的话,推荐使用第三种方式,这样不依赖tomcat了。但是还是推荐使用第一种方式好,虽然依赖tomat,但是是全局的,而且可以配置
多个。对于以后切换使用方便。

JNDI学习总结(一)——JNDI数据源的配置

一、数据源的由来   在Java开发中,使用JDBC操作数据库的四个步骤如下:       ①加载数据库驱动程序(Class.forName("数据库驱动类");)       ②连...
  • samjustin1
  • samjustin1
  • 2016年08月21日 08:44
  • 23300

JNDI数据源(在Tomcat下配置JNDI多数据源实例)

一,添加数据库驱动包加入classpath。 这里我用到了oracle和mysql。 所以由两个jar包:ojdbc14.jar和mysql-connector-java-5.1.13-bin.j...
  • lushuaiyin
  • lushuaiyin
  • 2013年03月20日 14:43
  • 4073

Tomcat中配置JNDI数据源详解

JNDI是 Java 命名与目录接口(Java Naming and Directory Interface),在J2EE规范中是重要的规范之一,不少专家认为,没有透彻理解JNDI的意义和作用,就没有...
  • a724888
  • a724888
  • 2017年04月21日 13:27
  • 802

史上最全最详细JNDI数据源配置说明

环境:tomcat6.0+Maven 要使用数据源就要知道数据源的由来:在java开发使用jdbc都要经历这四步 ①加载数据库驱动程序:(Class.forName(“数据库驱动类”);) ②连...
  • zhanglf02
  • zhanglf02
  • 2017年08月05日 17:12
  • 1323

在Tomcat配置JNDI数据源的三种方式

在我过去工作的过程中,开发用服务器一般都是Tomcat 数据源的配置往往都是在applicationContext.xml中配置一个dataSource的bean 然后在部署时再修改JND...
  • Erica_1230
  • Erica_1230
  • 2016年01月15日 19:03
  • 861

Spring配置数据源的三种方式 (JNDI\C3PO)

Spring配置数据源的三种方式 文章分类:Java编程 1,使用org.springframework.jdbc.datasource.DriverManagerDataSource 说明...
  • qq_24273557
  • qq_24273557
  • 2017年04月13日 14:26
  • 502

Tomcat中配置JNDI数据源

准备工作: Tomcat版本:tomcat6.0以上 下例中均使用MySQL数据库 将对应数据源的jar包和MySQL的驱动包拷贝至tomcat的lib文件夹下 一、全局数据源 1步骤一:配置 在to...
  • kris234seth
  • kris234seth
  • 2015年06月30日 13:43
  • 1479

jboss-as-7.1.1.Final配置Jndi数据源(以mysql为例)

1.获取mysql驱动,可以从mysql官方网站下载: http://dev.mysql.com/downloads/connector/j/2.进入jboss-as-7安装目录下的modules目...
  • Rongbo_J
  • Rongbo_J
  • 2015年10月31日 21:11
  • 2473

什么是jndi,什么时候使用jndi,tomcat配置jndi,spring使用jndi数据源

JNDI 是什么 JNDI是 Java 命名与目录接口(Java Naming and Directory Interface),在J2EE规范中是重要的规范之一,不少专家认为,没有透彻理解JN...
  • u012572955
  • u012572955
  • 2016年08月30日 10:29
  • 1356

Weblogic之weblogic数据源配置及jndi调用

Hashtable env = new Hashtable(); env.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitial...
  • magi1201
  • magi1201
  • 2014年07月30日 08:45
  • 15632
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JNDI数据源的配置
举报原因:
原因补充:

(最多只允许输入30个字)