第一种,单个应用独享数据源

就一步,找到Tomcat的server.xml找到工程的Context节点,添加一个私有数据源

Xml代码  

  1. <Context docBase="WebApp" path="/WebApp" reloadable="true" source="org.eclipse.jst.jee.server:WebApp">

  2. <Resource

  3. name="jdbc/mysql"

  4. scope="Shareable"

  5. type="javax.sql.DataSource"

  6. factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"

  7. url="jdbc:mysql://localhost:3306/test"

  8. driverClassName ="com.mysql.jdbc.Driver"

  9. username="root"

  10. password="root"

  11. />

  12. </Context>

优点:简单

缺点:重用性差

第二种,配置全局JNDI数据源,应用到单个应用

分两步

第一步, 找到Tomcat的server.xml中GlobalNamingResources节点,在节点下加一个全局数据源

Xml代码  

  1. <Resource

  2. name="jdbc/mysql"

  3. scope="Shareable"

  4. type="javax.sql.DataSource"

  5. factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"

  6. url="jdbc:mysql://localhost:3306/test"

  7. driverClassName ="com.mysql.jdbc.Driver"

  8. username="root"

  9. password="root"

  10. />

第二步,找到要应用此JNDI数据源的工程Context节点,增加对全局数据源的引用ResourceLink

Xml代码  

  1. <Context docBase="WebApp" path="/WebApp" reloadable="true">

  2. <ResourceLink global="jdbc/mysql" name="jdbc/mysql" type="javax.sql.DataSource" />

  3. </Context>

优点:重用性,可控性

缺点:配置相对第三种方法要繁琐一点,每个工程都得配

第三种,配置全局JNDI数据源,应用到所有Tomcat下部署的应用

也分两步

第一步

参考第二种的第一步

第二步,找到Tomcat的context.xml,在Context节点下加一个ResourceLink节点对第一步配置的数据源进行引用

这个XML配置文件的根节点就是<Context>

Xml代码  

  1. <Context>

  2. <ResourceLink global="jdbc/mysql" name="jdbc/mysql" type="javax.sql.DataSource" />

  3. <WatchedResource>WEB-INF/web.xml</WatchedResource>

  4. <Context>

优点:重用性,一次性到位

缺点:没有可控性

Spring对JNDI数据源的引用

在applicationContext.xml中加一个bean,替代原来的dataSource

Xml代码  

  1. <jee:jndi-lookup id="dataSource" jndi-name="jdbc/mysql" />

C3P0数据源的配置

type和factory的值发生变化

username=>user

url=>jdbcUrl

driverClassName=>driverClass

Xml代码  

  1. <Resource name="jdbc/mysql_c3p0" scope="Shareable"

  2. type="com.mchange.v2.c3p0.ComboPooledDataSource"

  3. factory="org.apache.naming.factory.BeanFactory"

  4. jdbcUrl="jdbc:mysql://localhost:3306/test" driverClass="com.mysql.jdbc.Driver"

  5. user="root" password="root" />

Tomcat配置JNDI数据源的三种方式-转-http://blog.51cto.com/xficc/1564691的更多相关文章

  1. 【转】在Tomcat配置JNDI数据源的三种方式

    在我过去工作的过程中,开发用服务器一般都是Tomcat 数据源的配置往往都是在applicationContext.xml中配置一个dataSource的bean 然后在部署时再修改JNDI配置 我猜 ...

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

    最近使用到了在tomcat下配置数据源的内容,在这里转载一篇文章记录下 转载自: http://blog.csdn.net/dyllove98/article/details/7706218 在我过去 ...

  3. 【Tomcat】Tomcat 配置JNDI数据源(三)

    数据源的由来 在Java开发中,使用JDBC操作数据库的四个步骤如下:   ①加载数据库驱动程序(Class.forName("数据库驱动类");)   ②连接数据库(Connec ...

  4. 配置quartz数据源的三种方式

    如果是使用了JDBC JobStore或JobStoreCMT获得持久的Job时,就要配置相关的数据源了. 方式一:使用quartz.properties文件,这时只需要在property文件中增加如 ...

  5. spring mvc配置datasource数据源的三种方式

    2.使用org.apache.commons.dbcp.BasicDataSource 说明:这是一种推荐说明的数据源配置方式,它真正使用了连接池技术 <bean id="dataSo ...

  6. tomcat发布web项目的三种方式

    tomcat发布web项目的三种方式 方式一: 配置tomcat 安装目录下的conf/server.xml <Host name="loaclhost">标签里面添加 ...

  7. 在Linux安装配置Tomcat 并部署web应用 ( 三种方式 )

    系统版本:centos6.5版本 java版本:1.7 一.准备工作 1.java -version 检查是否有java环境,没有则需要去安装并配置到环境变量中. 2.下载tomcat包,下载地址:h ...

  8. 配置数据源的三种方式和sql心跳的配置

    三种方式配置数据源连接池: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=" ...

  9. Tomcat配置JNDI数据源

    经过3个多小时的努力,配置JNDI数据源(主要是通过DBCP连接池)终于搞定-还是Tomcat官方的说明好,不过全是英文的,大概还看得懂.百度上那么花花绿绿的太多了,一个也没成功!...本例使用的数据 ...

随机推荐

  1. 20170706xlVBA根据工资汇总表生成个人工资条

    Sub NextSeven20170706001() Application.ScreenUpdating = False Application.DisplayAlerts = False Appl ...

  2. codeforces 555c// Case of Chocolate// Codeforces Round #310(Div. 1)

    题意:直角边为n的网格巧克力,一格为一块,选择斜边上一点,从左或上吃,直到吃到空气,称为一次操作.给出几个操作,问各能吃几块.如果x是当前要吃的横坐标,在已经吃过的中找x1>=x的第一个x1,即 ...

  3. 我的Java学习笔记 -开发环境搭建

    开始学习Java~ 一.Java简介 Java编程语言是一种简单.面向对象.分布式.解释型.健壮安全.与系统无关.可移植.高性能.多线程和动态的语言. Java分为三个体系: JavaSE(J2SE) ...

  4. IIS Web 服务器/ASP.NET 运行原理基本知识概念整理

     前言:      记录 IIS 相关的笔记还是从公司笔试考核题开始的,问 Application Pool 与 AppDomain 的区别?      促使我对进程池进了知识的学习,所以记录一下学习 ...

  5. OAF日志使用总结

    本文的完成感谢葛严大神授权使用LogUtil类,其次感谢Tavor大神的EBS OAF开发日志(见: EBS OAF开发中日志(Logging) ). 日志的使用是一门极大的学问,若读者有兴趣,可以自 ...

  6. JavaScript学习总结(八)——JavaScript数组

    JavaScript中的Array对象就是数组,首先是一个动态数组,无需预先制定大小,而且是一个像Java中数组.ArrayList.Hashtable等的超强综合体. 一.数组的声明 常规方式声明: ...

  7. jsonp 跨域1

    今天上课学到了jsonp,看了理解,还需要多敲,代码贴出来看看 <!doctype html> <html> <head> <meta charset=&qu ...

  8. 7dynamic_cast用法

    已知下面的class层次,其中每一个class都定义有一个default constructor和一个virtual destructor: class X{……}; class A{……}; cla ...

  9. Thinking in Java 之classpath理解

    等待写: <Thinking in Java> page127

  10. 关于plantera

    在Plantera,您可以建立属于您自己的花园,并且看着新的植物,灌木,树木和动物一起生长. 当您进行游戏,扩张您的花园时,您会吸引圆滚滚的蓝色生物小助手们,它们将帮助您捡果子,收获您的植物 有时候会 ...