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和Weblogic部署纯html文件过程解析(Tomcat和Weblogic部署纯html文件过程解析)
- 如何使用docker启动tomcat(简述Docker安装Tomcat镜像并部署web项目)
- idea社区版使用tomcat部署项目(基于IDEA部署Tomcat服务器的步骤详解)
- docker和tomcat建立连接(如何基于Dockerfile构建tomcat镜像)
- tomcat集群如何实现线程安全(如何通过LambdaProbe实现监控Tomcat)
- idea项目中tomcat的配置(tomcat部署项目以及与IDEA集成的实现)
- tomcat不显示图片怎么办(解决Tomcat重新部署后图片等资源被自动删除的问题)
- nginxtomcat工作原理(Windwos下实现Nginx+Tomcat集群过程解析)
- tomcat服务如何在eclipse中配置(HBuilderX配置tomcat外部服务器查看编辑jsp界面的方法详解)
- tomcat的部署和优化(看看Tomcat安装、配置、优化及负载均衡)
- tomcat docker 性能(Docker Nginx容器和Tomcat容器实现负载均衡与动静分离操作)
- tomcat在linux系统安装步骤(Tomcat的卸载和重装的实现图文)
- tomcat是异步非阻塞吗(浅谈Tomcat如何打破双亲委托机制)
- docker容器如何更改tomcat端口(Docker方式启动tomcat访问首页出现404错误)
- tomcat架构结构图(Tomcat核心组件及应用架构详解)
- 如何设置tomcat的jvm(Tomcatc3p0配置jnid数据源2种实现方法解析)
- 小敏家 剧情离谱一锅乱炖,但他们俩绝对是这部剧的一大 亮点(剧情离谱一锅乱炖)
- 《倚天屠龙记》再遭翻拍,关晓彤主演赵敏,蒋劲夫演张无忌,你怎么看(倚天屠龙记再遭翻拍)
- 吴启华与曾舜晞两代张无忌同框,戏里经典的他却没活出原著的潇洒(吴启华与曾舜晞两代张无忌同框)
- 经常发这三种 朋友圈 的人,要迅速屏蔽(经常发这三种朋友圈)
- 有种尴尬叫朋友圈忘屏蔽,大学生上演社死现场,父母亲自下场吐槽(有种尴尬叫朋友圈忘屏蔽)
- 朋友圈屏蔽你的人,可以直接看淡了(朋友圈屏蔽你的人)
热门推荐
- ubuntu设置用户免密码(Ubuntu修改密码及密码复杂度策略设置方法)
- dedecms栏目内容怎么插入分页符(dedecms织梦让likearticle的mytypeid支持多个栏目和子栏目)
- 数据库知识点总结归纳(数据库日常练习题,每天进步一点点1)
- SQL SERVER中使用WITH TIES获取前几行数据
- docker怎么增加端口(docker 添加端口及获取dockerfile的方法)
- html5div例子(html5 外链式实现加减乘除的代码)
- python类的init方法(Python操作配置文件ini的三种方法讲解)
- mysql limit越大越慢(MySQL limit分页大偏移量慢的原因及优化方案)
- sql两列合并成一列格式(SQL 将一列拆分成多列的三种方法)
- mysql多行数据之和(详解MySQL的数据行和行溢出机制)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9