tomcat配置jmx监控(Tomcat配置JNDI数据源的三种方式)
tomcat配置jmx监控
Tomcat配置JNDI数据源的三种方式在我过去工作的过程中,开发用服务器一般都是Tomcat
数据源的配置往往都是在applicationContext.xml中配置一个dataSource的bean
然后在部署时再修改JNDI配置
我猜是因为Tomcat的配置需要改配置文件
不像JBoss,Weblogic等服务器在管理界面可以直接添加JNDI数据源
也很少人去研究它的配置
最近做了个小项目,发布版本的时候都是通过ant编译成jar包之后丢给测试
测试是大爷,教他修改数据源了还是当没听到
周末闲来无聊,看了一些Tomcat配置的教程,下面做一些总结
注:如果你的工程是直接丢在webapps下面的,server.xml中就没有工程对应的Context节点
更新:由于之前有些配置来自网络,不太好用,作了一些更新
对每种方法作了一些个人评价
PS:以下配置在apache-tomcat-6.0.35下测试通过,可以访问数据库
第一种,单个应用独享数据源就一步,找到Tomcat的server.xml找到工程的Context节点,添加一个私有数据源
<Context docBase="WebApp" path="/WebApp" reloadable="true" source="org.eclipse.jst.jee.server:WebApp"> <Resource name="jdbc/mysql" scope="Shareable" type="javax.sql.DataSource" factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory" url="jdbc:mysql://localhost:3306/test" driverClassName ="com.mysql.jdbc.Driver" username="root" password="root" /> </Context>
优点:简单
缺点:重用性差
第二种,配置全局JNDI数据源,应用到单个应用分两步
第一步, 找到Tomcat的server.xml中GlobalNamingResources节点,在节点下加一个全局数据源
<Resource name="jdbc/mysql" scope="Shareable" type="javax.sql.DataSource" factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory" url="jdbc:mysql://localhost:3306/test" driverClassName ="com.mysql.jdbc.Driver" username="root" password="root" /> <script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
第二步,找到要应用此JNDI数据源的工程Context节点,增加对全局数据源的引用ResourceLink
<Context docBase="WebApp" path="/WebApp" reloadable="true"> <ResourceLink global="jdbc/mysql" name="jdbc/mysql" type="javax.sql.DataSource" /> </Context>
优点:重用性,可控性
缺点:配置相对第三种方法要繁琐一点,每个工程都得配
第三种,配置全局JNDI数据源,应用到所有Tomcat下部署的应用也分两步
第一步
参考第二种的第一步
第二步,找到Tomcat的context.xml,在Context节点下加一个ResourceLink节点对第一步配置的数据源进行引用
这个XML配置文件的根节点就是<Context>
<Context> <ResourceLink global="jdbc/mysql" name="jdbc/mysql" type="javax.sql.DataSource" /> <WatchedResource>WEB-INF/web.xml</WatchedResource> <Context>
优点:重用性,一次性到位
缺点:没有可控性
在applicationContext.xml中加一个bean,替代原来的dataSource
<jee:jndi-lookup id="dataSource" jndi-name="jdbc/mysql" />
C3P0数据源的配置
type和factory的值发生变化
username=>user
url=>jdbcUrl
driverClassName=>driverClass
<Resource name="jdbc/mysql_c3p0" scope="Shareable" type="com.mchange.v2.c3p0.ComboPooledDataSource" factory="org.apache.naming.factory.BeanFactory" jdbcUrl="jdbc:mysql://localhost:3306/test" driverClass="com.mysql.jdbc.Driver" user="root" password="root" />
到此这篇关于Tomcat配置JNDI数据源的三种方式的文章就介绍到这了,更多相关Tomcat配置JNDI数据源内容请搜索开心学习网以前的文章或继续浏览下面的相关文章希望大家以后多多支持开心学习网!
- 如何将tomcat源码以maven方式运行(如何将tomcat源码以maven方式运行)
- idea的tomcat怎么关闭(解决Idea的tomcat启动报多个listener的错误问题)
- maven默认插件配置(Maven使用tomcat8-maven-plugin插件的详细教程)
- nginx tomcat集群(Nginx+tomcat负载均衡集群的实现方法)
- docker启动项目需要tomcat吗(docker安装tomcat并部署Springboot项目war包的方法)
- tomcat处理乱码(Tomcat中catalina.bat设置为UTF-8控制台出现乱码)
- Tomcat和Weblogic部署纯html文件过程解析(Tomcat和Weblogic部署纯html文件过程解析)
- apache服务部署tomcat(Apache与Tomcat服务器整合的基本配置方法及概要说明)
- tomcat 多线程并发cpu(Tomcat使用线程池处理远程并发请求的方法)
- 如何设置tomcat的jvm(Tomcatc3p0配置jnid数据源2种实现方法解析)
- tomcat环境配置都正确无法运行(为什么我的tomcat启动不起来)
- docker部署tomcat(Docker安装Tomcat、MySQL和Redis的步骤详解)
- 如何使用docker启动tomcat(Docker容器上用DockerFile部署多个tomcat服务的步骤)
- springboot启动内置tomcat(解决spring boot + jar打包部署tomcat 404错误问题)
- dockertomcat运行参数设置(Docker Tomcat为何看不到访问界面)
- tomcatweb 管理(Tomcat源码解析之Web请求与处理)
- 泰国美女(泰国人妖和女性如何区分)
- 泰国旅游业怎么样(泰国的旅游产业)
- 越南新娘(越南新娘婚介网站)
- 越南新娘(越南新娘骗婚套路流程)
- 菲律宾游学(菲律宾游学中介机构)
- 菲律宾美食(菲律宾美食排行榜前十名)
热门推荐
- mysql给字段加默认值(MySQL 如何处理隐式默认值)
- dedecms默认水印(DEDECMS显示英文日期时间的方法)
- 在python中导入模块有哪几种方式(Python不同目录间进行模块调用的实现方法)
- h5 video支持格式(H5 video poster属性设置视频封面的方法)
- python 多线程与多进程(python 多线程串行和并行的实例)
- Extjs中FieldSet的收缩和展开
- php联合注入列表总结(php中的依赖注入实例详解)
- python多线程并发使用场景(对python多线程SSH登录并发脚本详解)
- html5图片做背景代码(Html5之webcoekt播放JPEG图片流)
- python装饰器怎么编写(Python函数装饰器常见使用方法实例详解)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9