码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2014-10-16 13:35:43      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:数据源   server   tomcat   context   

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

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

Xml代码  bubuko.com,布布扣

  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代码  bubuko.com,布布扣

  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代码  bubuko.com,布布扣

  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代码  bubuko.com,布布扣

  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代码  bubuko.com,布布扣

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

C3P0数据源的配置

type和factory的值发生变化

username=>user

url=>jdbcUrl

driverClassName=>driverClass

Xml代码  bubuko.com,布布扣

  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" />  


本文出自 “XFICC” 博客,请务必保留此出处http://xficc.blog.51cto.com/1189288/1564691

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

标签:数据源   server   tomcat   context   

原文地址:http://xficc.blog.51cto.com/1189288/1564691

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!