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框架中,通过JNDI(Java Naming and Directory Interface)可以方便地访问WebLogic服务器中的数据源。这为应用程序提供了高度解耦的数据访问机制,使得...
大多数应用服务器都支持将这些连接池作为JNDI数据源的实现。 总之,配置Spring中的JNDI数据源是实现灵活且可扩展的数据库连接管理的关键步骤。理解这一过程将帮助你更好地构建和维护基于Spring的分布式应用程序。
### Spring + JOTM 多数据源事务管理详解(三):JNDI + Tomcat 在本篇文章中,我们将深入探讨如何利用Spring框架结合JOTM(Java Open Transaction Manager)来实现多数据源下的分布式事务管理。我们将通过具体实例...
在IT行业中,Spring框架是Java开发者的首选工具之一,它为构建企业级应用程序提供了广泛的支持。Spring JMS(Java Message Service)是Spring框架的一部分,它允许开发者轻松地集成消息中间件,实现解耦和异步通信。...
在本文中,我们将深入探讨Spring框架中的Java消息服务(JMS)支持,特别是不依赖于JNDI(Java Naming and Directory Interface)的方式。Spring JMS为应用程序提供了与消息中间件交互的能力,允许我们构建可扩展且...
JNDI支持多种服务,如 LDAP、RMI 和 DNS 等。 2. **JNDI在应用服务器中的作用:** 在Tomcat这样的应用服务器中,JNDI常用来管理资源,比如数据源(DataSource)。开发者可以将数据源配置在服务器的上下文中,然后...
JBoss作为一个高性能的Java应用服务器,提供了丰富的功能支持企业级应用开发。JNDI作为Java平台的标准命名和目录接口,用于查找和管理分布式环境中的对象和服务,包括数据库连接等资源。通过在JBoss中配置JNDI数据源...
Spring 5.0引入了许多新特性,包括对Java 8的全面支持,增强的Reactive编程模型,改进的WebSocket支持,以及对HTTP/2的原生支持。Spring的IoC(Inversion of Control,控制反转)容器负责管理对象的生命周期和依赖...
本文详细介绍了在Spring框架中配置DBCP、C3P0以及通过JNDI获取数据源的方法。对于不同的应用场景,可以选择适合自己的数据库连接池方案。无论是DBCP还是C3P0,在Spring框架的支持下,都能够方便地进行配置和管理。...
核心容器。...通过配置管理特性,可以很容易地使 Spring 框架管理的任何对象支持 AOP。Spring AOP 模块直接将面向方面编程的功能集成到Spring框架中。它为基于Spring 应用程序的对象提供了事务管理服务。
Spring框架是Java开发中广泛使用的轻量级框架,它的核心在于控制反转(IoC)和面向切面编程(AOP),并由七个主要模块构成,这些模块相互独立,也可以协同工作,为开发者提供了强大的功能支持。以下是对这些模块的...
Spring框架提供了对RMI的简化支持,使得RMI的使用更加便捷和灵活: 1. **配置Spring Bean**:在Spring的配置文件中定义远程服务接口和实现类,使用`<bean>`标签进行配置。 2. **暴露RMI服务**:使用`<bean>`标签的`...
- **JNDI 查找**:如果JBPM服务在应用服务器中以 JNDI 方式暴露,Spring 可以通过 JNDI 查找来获取这些服务。 - **Spring AOP 集成**:可以利用 Spring 的 AOP 功能来拦截流程中的关键操作,例如在任务分配、流程...
spring-context.jar(必须):这个jar 文件在基础IOC功能上为Spring 核心提供了大量扩展服务,此外还提供许多企业级服务的支持,有邮件服务、任务调度、JNDI定位,EJB集成、远程访问、缓存以及多种视图层框架的支持...
它还支持与JNDI的集成,使得Spring的应用程序能够与现有的企业服务进行交互。 5. **spring-dao.jar**:提供了一组异常层次结构,简化了数据访问层的错误处理。它还包含了一些通用的数据访问工具类,比如...
在 Spring Framework 中,JNDI 是一个重要的组成部分,提供了对 JNDI 的支持。org.springframework.mock.jndi 包含了 JNDI 的 partial implementation,可以用于测试环境中。 Servlet API Servlet API 是 Java 中...
在基础IOC功能上提供扩展服务,此外还提供许多企业级服务的支持,有邮件服务、任务调度、JNDI定位,EJB集成、远程访问、缓存以及多种视图层框架的支持。这个jar 文件为Spring 核心提供了大量扩展。可以找到使用...
5. **DataSource**: Spring JDBC通常与DataSource一起使用,DataSource是Java的JNDI服务的一部分,用于存储数据库连接信息并提供连接池功能。 6. **SqlProvider**: 如SqlProvider接口,可以自定义SQL语句的获取方式...
- **上下文**:提供了一个配置文件,允许 Spring 与外部系统进行交互,例如 JNDI、EJB、邮件服务等。 - **AOP**:提供了面向切面编程的支持,使得开发者可以方便地在 Spring 管理的对象中实现 AOP 功能。 - **DAO ...