Spring对JNDI的支持方法
Spring对JNDI的支持
Spring中对于JNDI的访问,提供了便捷的方法,在Spring的org.springframework.jndi包中包含了所有的类。其中提供了一下核心类:
1)JndiTemplate:它是这个包的核心类,用来简化对JNDI的操作。它提供了对于lookup、bind方法。
<bean id="jndiTemplate" class="org.springframework.jndi.JndiTemplate">
<property name="environment">
<props>
<prop key="java.naming.factory.initial">org.jnp.interfaces.NamingContextFactory</prop>
<prop key="java.naming.provider.url">jnp://localhost:1099</prop>
<prop key="java.naming.factory.url.pkgs">org.jboss.naming:org.jnp.interfaces</prop>
</props>
</property>
</bean>
2)JndiObjectFactoryBean:looks up 一个JNDI对象,暴露在JNDI中找到的对象给其他Bean引用,例如在数据源情况下作为数据访问对象的 "dataSource" property
使用JndiObjectFactoryBean,例如
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName">
<value>java:/MySqlDS</value>
</property>
</bean>
实例:
数据源的配置:
(1)配置可以访问到同一应用服务器的jndi数据源
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName">
<value>jdbc/cqccms</value>
</property>
</bean>
(2)配置能访问远程jndi数据源
方法1:直接通过JndiObjectFactoryBean的jndiEnvironment属性定义远程JNDI参数
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName">
<value>jdbc/cqccms</value>
</property>
<property name="jndiEnvironment">
<props>
<prop key="java.naming.factory.initial">
weblogic.jndi.WLInitialContextFactory
</prop>
<prop key="java.naming.provider.url">t3://172.16.101.42:7001</prop>
<prop key="java.naming.security.principal">weblogic</prop>
<prop key="java.naming.security.credentials">weblogic</prop>
</props>
</property>
</bean>
方法2:先定义jndiTemplate,由jndiTemplate定义远程JNDI参数
<bean id="jndiTemplate" class="org.springframework.jndi.JndiTemplate">
<property name="environment">
<props>
<prop key="java.naming.factory.initial">weblogic.jndi.WLInitialContextFactory</prop>
<prop key="java.naming.provider.url">t3://172.16.101.42:7001</prop>
<prop key="java.naming.security.principal">weblogic</prop>
<prop key="java.naming.security.credentials">weblogic</prop>
</props>
</property>
</bean>
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName">
<value>jdbc/cqccms</value>
</property>
<property name="jndiTemplate" ref="jndiTemplate" />
</bean>
Spring对JNDI的支持方法相关推荐
- Spring注解事务不支持 protect private 方法的原因
Spring注解事务不支持 protect private 方法的原因 @Data @EqualsAndHashCode(callSuper = false) @Accessors(chain = t ...
- Java缓存学习之五:spring 对缓存的支持
(注意标题,Spring对缓存的支持 这里不单单指Ehcache ) 从3.1开始,Spring引入了对Cache的支持.其使用方法和原理都类似于Spring对事务管理的支持.Spring Cache ...
- Spring对AOP的支持
Spring对AOP的支持<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" ...
- 在controller中调用指定参数给指定表单_第005课:Spring Boot 中MVC支持
Spring Boot 的 MVC 支持主要介绍实际项目中最常用的几个注解,包括 @RestController. @RequestMapping.@PathVariable.@RequestPara ...
- 使用Spring Security3的四种方法概述
使用Spring Security3的四种方法概述 那么在Spring Security3的使用中,有4种方法: 一种是全部利用配置文件,将用户.权限.资源(url)硬编码在xml文件中,已经实现过, ...
- Spring对java模块化支持_Spring项目对JDBC的支持和基本使用
欢迎查看Java开发之上帝之眼系列教程,如果您正在为Java后端庞大的体系所困扰,如果您正在为各种繁出不穷的技术和各种框架所迷茫,那么本系列文章将带您窥探Java庞大的体系.本系列教程希望您能站在上帝 ...
- 由openSession、getCurrentSession和HibernateDaoSupport浅谈Spring对事物的支持
由openSession.getCurrentSession和HibernateDaoSupport浅谈Spring对事物的支持 Spring和Hibernate的集成的一个要点就是对事务的支持,op ...
- 如何理解Spring对缓存的支持
1.Spring缓存机制的理解 在Spring缓存机制中,包括了两个方面的缓存操作:1.缓存某个方法返回的结果:2.在某个方法执行前或后清空缓存. 下面写两个类来模拟Spring的缓存机制: pack ...
- Spring声明式事务配置管理方法
/*2011年8月28日 10:03:30 by Rush */ 环境配置 项目使用SSH架构,现在要添加Spring事务管理功能,针对当前环境,只需要添加Spring 2.0 AOP类库即可.添加 ...
最新文章
- 打开word文档提示文件未找到_word图片显示:如何打开多图文档不再卡慢
- Java1.5语言新特性简单总结
- [整理] C#调用SQLDMO.DLL时间数据库备份 / 还原。 (香神无涯) // C#实现SQLSERVER2000数据库备份还原的两种方法 (带进度条)...
- hdu 3863 No Gambling (不会证明,但是是对的,,)
- 手机关机后,就没有定位信息了
- 微信小程序上传的视频显示封面 我是阿里云oss的实现
- Pell数列(信息学奥赛一本通-T1189)
- 洛谷 P2097 资料分发1
- python 录入数据不重复_python Django批量导入不重复数据
- 微信今日全面开放接口
- 【Elasticsearch】es 7.12 Root mapping definition has unsupported parameters: _all
- [转]BT种子文件格式
- Ubuntu 16.04配置VNC进行远程桌面连接
- nero 刻录一张4g的服务器系统盘大概需要多长时间,刻录系统盘(如何刻录系统盘) 狸窝用户有福了:nero刻录系统盘...
- 华硕主板怎么刷bios
- 什么是IDS IPS以及IDS,IPS的区别
- python求三角形的角度
- 华为链路聚合(路由器和交换机)
- 去中心化云存储的前世今生 | 存储技术分享活动回顾
- c语言字符集的作用,1.属于C语言字符集中可显示字符的是()
热门文章
- ASP.NET网站性能提升的几个方法
- django的权限认证:登录和退出。auth模块和@login_required装饰器
- Scrum 项目4.0--软件工程
- 第五十四天 how can I 坚持
- 使用VirtualBox SDK之初步编译
- volatile 和 sig_atomic_t
- WEB前端 javascript、php关键字搜索函数的使用方法
- kotlin android获取按钮,Kotlin 实现按钮点击跳转监听事件方式
- native封装卡片 react_自己动手封装一个React Native多级联动
- QT计算机控制进程,Qt 学习之路 2(69):进程