- 浏览: 3366243 次
- 性别:
- 来自: 珠海
文章分类
- 全部博客 (1633)
- Java (250)
- Android&HTML5 (111)
- Struts (10)
- Spring (236)
- Hibernate&MyBatis (115)
- SSH (49)
- jQuery插件收集 (55)
- Javascript (145)
- PHP (77)
- REST&WebService (18)
- BIRT (27)
- .NET (7)
- Database (105)
- 设计模式 (16)
- 自动化和测试 (19)
- Maven&Ant (43)
- 工作流 (36)
- 开源应用 (156)
- 其他 (16)
- 前台&美工 (119)
- 工作积累 (0)
- OS&Docker (83)
- Python&爬虫 (28)
- 工具软件 (157)
- 问题收集 (61)
- OFbiz (6)
- noSQL (12)
最新评论
-
HEZR曾嶸:
你好博主,这个不是很理解,能解释一下嘛//左边+1,上边+1, ...
java 两字符串相似度计算算法 -
天使建站:
写得不错,可以看这里,和这里的这篇文章一起看,有 ...
jquery 遍历对象、数组、集合 -
xue88ming:
很有用,谢谢
@PathVariable映射出现错误: Name for argument type -
jnjeC:
厉害,困扰了我很久
MyBatis排序时使用order by 动态参数时需要注意,用$而不是# -
TopLongMan:
非常好,很实用啊。。
PostgreSQL递归查询实现树状结构查询
使用全局方式:
1.配置tomcat:找到context.xml,配置为
<Context> <WatchedResource>WEB-INF/web.xml</WatchedResource> <Resource name="jndi/rh_cpm_dev" auth="Container" type="javax.sql.DataSource" driverClassName="net.sourceforge.jtds.jdbc.Driver" url="jdbc:jtds:sqlserver://192.168.0.168:1433/rh_cpm_dev" username="sa" password="sa" maxActive="20" maxIdle="10" maxWait="10000"/> </Context>
2.web.xml在文件前面增加:
<resource-ref> <description>JNDI DataSource</description> <res-ref-name>jndi/rh_cpm_dev</res-ref-name> <res-ref-type>javax.sql.DataSource</res-ref-type> <res-auth>Container</res-auth> </resource-ref>
注意,res-ref-name跟context.xml配置的name一样。
3.Spring配置,修改dataSource为
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiName" value="java:comp/env/jndi/rh_cpm_dev"></property> </bean>
测试成功。
以下是参考文章:
tomcat下jndi的三种配置方式 http://blog.csdn.net/lgm277531070/article/details/6711177
tomcat配置jndi有全局配置和局部配置。大致的有以下三种配置方式:
第一种:全局配置。
1)在tomcat的conf文件夹下的context.xml配置文件中加入:
<Resource name="jndi/mybatis" auth="Container" type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/appdb" username="root" password="123456" maxActive="20" maxIdle="10" maxWait="10000"/>
2)在项目的web.xml中加入资源引用:
<resource-ref> <description>JNDI DataSource</description> <res-ref-name>jndi/mybatis</res-ref-name> <res-ref-type>javax.sql.DataSource</res-ref-type> <res-auth>Container</res-auth> </resource-ref>
其中res-ref-name值要和context.xml的name值一致。
3)jndi测试方法:
public void testJNDI() throws NamingException, SQLException{ Context ctx = new InitialContext(); DataSource ds = (DataSource) ctx.lookup("java:comp/env/jndi/mybatis"); Connection conn = ds.getConnection(); System.out.println(conn.isClosed()); }
4)在jsp中调用加载jndi方式,不可以直接用main方法测试,必须通过启动容器从jsp中调用:
TestPageAccessURL test = new TestPageAccessURL(); test.testJNDI();
第二种:局部配置(不推荐)。
1)在tomcat的server.xml的<host>标签内,添加:
<Context path="/demo_jndi" docBase="/demo_jndi"> <Resource name="jndi/mybatis" type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver" maxIdle="2" maxWait="5000" username="root" password="123456" url="jdbc:mysql://localhost:3306/appdb" maxActive="4"/> </Context>
其他配置同第一种方式。
第三种:局部配置。
1)在项目的META-INFO下面新建context.xml。加入:
<?xml version="1.0" encoding="UTF-8"?> <Context> <Resource name="jndi/mybatis" auth="Container" type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/appdb" username="root" password="123456" maxActive="20" maxIdle="10" maxWait="10000"/> </Context>
其他配置同第一种方式。
总结:如果要配置局部的话,推荐使用第三种方式,这样不依赖tomcat了。但是还是推荐使用第一种方式好,虽然依赖tomat,但是是全局的,而且可以配置
多个。对于以后切换使用方便。
在项目的web.xml中添加的资源引用可有可无。
在Tomcat配置JNDI数据源的三种方式:http://136589219.iteye.com/blog/1572214
第一种,单个应用独享数据源
就一步,找到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" />
第二步,找到要应用此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>
优点:重用性,一次性到位
缺点:没有可控性
Spring对JNDI数据源的引用
在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" />
发表评论
-
FFmpeg常用基本命令
2016-07-15 11:52 0http://www.cnblogs.com/dwdxdy/p ... -
iF.SVNAdmin安装
2016-06-27 17:13 1382http://blog.linhere.com/archive ... -
apache调优
2016-05-21 10:10 1098http://my.oschina.net/renqingsh ... -
tomcat命令
2016-04-28 09:56 914./startup.sh : 启动tomcat ./shutd ... -
Shiro 基于注解和标签实现的授权认证过程
2016-04-25 13:24 5881将 Shiro 作为应用的权限 ... -
Byteman 3.0.5 发布,Java 字节码注入工具
2016-04-23 10:29 1729Byteman 3.0.5 发布,Java 字 ... -
安装Hadoop, Hbase, Phoenix
2016-04-22 09:22 1451http://my.oschina.net/jrrx/blog ... -
jenkins+ant+jmeter搭建持续集成的接口测试平台实例
2016-04-15 13:29 1482http://my.oschina.net/u/1425843 ... -
Dubbo 介绍
2016-04-14 10:26 1015官方 http://dubbo.io/ DUBBO是一个分布式 ... -
Hadoop 2.6.4分布式集群环境搭建
2016-04-13 11:45 712http://my.oschina.net/jackieyea ... -
nagios报警信息,发送到微信端
2016-03-23 22:59 1092http://www.oschina.net/code/sni ... -
Keepalived配置与使用
2016-03-23 22:53 965原文: http://weizhifeng.net/using ... -
会话状态保持,JSESSIONID,COOKIE,URL重写
2016-03-17 20:26 1726http://my.oschina.net/sniperLi/ ... -
Intellij IDEA 根据数据库自动生成pojo和hbm
2016-03-13 17:03 2350http://my.oschina.net/jimyao/bl ... -
比较简洁的Hadoop介绍
2016-03-10 22:49 873http://www.cnblogs.com/sunddenl ... -
Intellij 配置Tomact 热部署
2016-01-28 11:19 888http://my.oschina.net/heweipo/b ... -
Java 应用发布后,需要关注的7个性能指标
2015-12-16 23:39 1097http://my.oschina.net/oneapmoff ... -
dom4j解析xml-取消doctype中DTD验证设置
2015-11-27 11:30 2166http://pengfeng.iteye.com/blog/ ... -
Linux下的压缩和解压
2015-11-10 16:13 1058Linux下的压缩(zip)解压(unzip)缩命令 http ... -
加密算法
2015-11-10 15:44 875http://my.oschina.net/u/2359500 ...
相关推荐
Tomcat配置JNDI数据源的N种方法
tomcat上配置的JNDI数据源的几种方式
自己总结的三种使用方式,对比来看选择最适合你的方式
tomcat配置jndi几个方式
TOMCAT8 JNDI对用户名和密码加密
Tomcat jndi 配置数据源过程 Tomcat jndi 配置数据源过程 Tomcat jndi 配置数据源过程 Tomcat jndi 配置数据源过程
NULL 博文链接:https://buliedian.iteye.com/blog/858026
自定义jndi数据源factory类,用于解密jndi中的加密数据,解密方式为DES,具体可根据实际需求修改。
Tomcat6.0 JNDI数据源经典实例,里面JAR包,配置文件,数据源都配置好了,sql语句已经打包好了,直接可以建表的。
tomcat中配置jndi 数据源!!!
Springmvc +JNDI 在Tomcat下 配置数据源 ... 第二种:配置全局JNDI数据源,应用到单个应用 三、 数据源配置在Tomcat/conf/ context.xml 文件或者 server.xml 文件 中的区别 四、 常见的报错及解决方案
Tomcat_5配置JNDI数据源
根据项目名自动生成 JNDI 配置文件,使程序员从手动配置JNDI数据源中解脱出来。 使用说明: 1、把“TomcatJNDI.war”文件放入 tomcat 的 webapps 文件夹下; 2、启动tomcat,在地址栏上输入:...
配置JNDI数据源 spring tomcat
Tomcat中配置jndi数据源连接池(自己写的) 做过实用 没有问题
详细介绍了在Tomcat中配置数据源JNDI的三种方法,其中第一种方法最好用,附带一部分源代码
Tomcat6+spring+jndi配置数据源说明.docx
基于JNDI,在Tomcat5.5中配置数据源
如何使用JNDI数据源,Tomcat数据源配置