博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring对JNDI的支持方法
阅读量:6199 次
发布时间:2019-06-21

本文共 2231 字,大约阅读时间需要 7 分钟。

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> 

转载地址:http://nyica.baihongyu.com/

你可能感兴趣的文章
Milo的游戏开发的一些链接资料
查看>>
docker部署rabbitMQ
查看>>
python 操作PPT练习
查看>>
Log4Net五部曲
查看>>
如何使用Paste.Deploy
查看>>
微信朋友圈评论功能的细节考虑及实现
查看>>
资源记录
查看>>
fedora 18安装 libreoffice4
查看>>
Python web前端 11 form 和 ajax
查看>>
(转)android适配各种分辨率的问题
查看>>
博客作业2---线性表 陈张鑫
查看>>
Andriod底层第五课------HAL硬件抽象层
查看>>
HDU - 4578 线段树+三重操作
查看>>
vue动态加载图片失效的问题
查看>>
窗体四边阴影
查看>>
VISUAL STUDIO 使用技巧大全 中英文版本之 一 - 命名空间引用管理
查看>>
spring aop
查看>>
opencv的x64库的版本和vs的版本的对应关系
查看>>
enableEventValidation
查看>>
[UIKit学习]02.关于UIButton
查看>>