`

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获取weblogic jndi数据源的两种方式

    ### Spring 获取 WebLogic JNDI 数据源的两种方式 在Spring框架中,通过JNDI(Java Naming and Directory Interface)可以方便地访问WebLogic服务器中的数据源。这为应用程序提供了高度解耦的数据访问机制,使得...

    spring 配置jndi

    大多数应用服务器都支持将这些连接池作为JNDI数据源的实现。 总之,配置Spring中的JNDI数据源是实现灵活且可扩展的数据库连接管理的关键步骤。理解这一过程将帮助你更好地构建和维护基于Spring的分布式应用程序。

    spring+jotm 多数据源事务管理(三)JNDI+Tomcat

    ### Spring + JOTM 多数据源事务管理详解(三):JNDI + Tomcat 在本篇文章中,我们将深入探讨如何利用Spring框架结合JOTM(Java Open Transaction Manager)来实现多数据源下的分布式事务管理。我们将通过具体实例...

    Spring JMS 消息处理-基于JNDI

    在IT行业中,Spring框架是Java开发者的首选工具之一,它为构建企业级应用程序提供了广泛的支持。Spring JMS(Java Message Service)是Spring框架的一部分,它允许开发者轻松地集成消息中间件,实现解耦和异步通信。...

    Spring JMS消息处理-不基于JNDI

    在本文中,我们将深入探讨Spring框架中的Java消息服务(JMS)支持,特别是不依赖于JNDI(Java Naming and Directory Interface)的方式。Spring JMS为应用程序提供了与消息中间件交互的能力,允许我们构建可扩展且...

    JNDI示例整合SSH

    JNDI支持多种服务,如 LDAP、RMI 和 DNS 等。 2. **JNDI在应用服务器中的作用:** 在Tomcat这样的应用服务器中,JNDI常用来管理资源,比如数据源(DataSource)。开发者可以将数据源配置在服务器的上下文中,然后...

    jboss配置MySql的JNDI

    JBoss作为一个高性能的Java应用服务器,提供了丰富的功能支持企业级应用开发。JNDI作为Java平台的标准命名和目录接口,用于查找和管理分布式环境中的对象和服务,包括数据库连接等资源。通过在JBoss中配置JNDI数据源...

    ssm+maven+jndi+jdbc

    Spring 5.0引入了许多新特性,包括对Java 8的全面支持,增强的Reactive编程模型,改进的WebSocket支持,以及对HTTP/2的原生支持。Spring的IoC(Inversion of Control,控制反转)容器负责管理对象的生命周期和依赖...

    Spring的数据源配置 DBCP、C3P0、JNDI.txt

    本文详细介绍了在Spring框架中配置DBCP、C3P0以及通过JNDI获取数据源的方法。对于不同的应用场景,可以选择适合自己的数据库连接池方案。无论是DBCP还是C3P0,在Spring框架的支持下,都能够方便地进行配置和管理。...

    Spring框架.ppt

    核心容器。...通过配置管理特性,可以很容易地使 Spring 框架管理的任何对象支持 AOP。Spring AOP 模块直接将面向方面编程的功能集成到Spring框架中。它为基于Spring 应用程序的对象提供了事务管理服务。

    Spring的7大模块面试

    Spring框架是Java开发中广泛使用的轻量级框架,它的核心在于控制反转(IoC)和面向切面编程(AOP),并由七个主要模块构成,这些模块相互独立,也可以协同工作,为开发者提供了强大的功能支持。以下是对这些模块的...

    三种方式实现java远程调用(rmi),绝对可用

    Spring框架提供了对RMI的简化支持,使得RMI的使用更加便捷和灵活: 1. **配置Spring Bean**:在Spring的配置文件中定义远程服务接口和实现类,使用`&lt;bean&gt;`标签进行配置。 2. **暴露RMI服务**:使用`&lt;bean&gt;`标签的`...

    spring与jbpm的集成包(符集成方法)

    - **JNDI 查找**:如果JBPM服务在应用服务器中以 JNDI 方式暴露,Spring 可以通过 JNDI 查找来获取这些服务。 - **Spring AOP 集成**:可以利用 Spring 的 AOP 功能来拦截流程中的关键操作,例如在任务分配、流程...

    spring4.3.9相关jar包

    spring-context.jar(必须):这个jar 文件在基础IOC功能上为Spring 核心提供了大量扩展服务,此外还提供许多企业级服务的支持,有邮件服务、任务调度、JNDI定位,EJB集成、远程访问、缓存以及多种视图层框架的支持...

    spring2.0和spring2.5 及以上版本的jar包区别 spring jar 包详解

    它还支持与JNDI的集成,使得Spring的应用程序能够与现有的企业服务进行交互。 5. **spring-dao.jar**:提供了一组异常层次结构,简化了数据访问层的错误处理。它还包含了一些通用的数据访问工具类,比如...

    Spring Framework Testing 读书笔记

    在 Spring Framework 中,JNDI 是一个重要的组成部分,提供了对 JNDI 的支持。org.springframework.mock.jndi 包含了 JNDI 的 partial implementation,可以用于测试环境中。 Servlet API Servlet API 是 Java 中...

    spring4.1核心包

    在基础IOC功能上提供扩展服务,此外还提供许多企业级服务的支持,有邮件服务、任务调度、JNDI定位,EJB集成、远程访问、缓存以及多种视图层框架的支持。这个jar 文件为Spring 核心提供了大量扩展。可以找到使用...

    spring_JDBC整合包

    5. **DataSource**: Spring JDBC通常与DataSource一起使用,DataSource是Java的JNDI服务的一部分,用于存储数据库连接信息并提供连接池功能。 6. **SqlProvider**: 如SqlProvider接口,可以自定义SQL语句的获取方式...

    spring详细教程

    - **上下文**:提供了一个配置文件,允许 Spring 与外部系统进行交互,例如 JNDI、EJB、邮件服务等。 - **AOP**:提供了面向切面编程的支持,使得开发者可以方便地在 Spring 管理的对象中实现 AOP 功能。 - **DAO ...

Global site tag (gtag.js) - Google Analytics