`
REALGODO
  • 浏览: 176899 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

基于Spring的JNDI方式请求EJB服务

阅读更多

         开发中有一个新项目需要调用现存的EJB服务,新项目有Spring容器,参考文档后使用JNDI方式请求EJB服务。解决思路如下。

 

         首先是配置JNDI服务的属性文件,application.local.properties。

#########################################################
# JNDI 
#########################################################
naming.initial=org.jnp.interfaces.NamingContextFactory
naming.pkgs=org.jboss.naming:org.jnp.interfaces
naming.root=sg-service-ear-1.0.0-M3-SNAPSHOT
naming.url=jnp://172.16.0.55:1099

         naming.root是ejb发布后的服务名。naming.url是EJB服务地址,1099是默认端口。

 

         在Spring配置文件applicationContext.xml中引入该属性文件

	<bean id="propertyConfigurer"
		class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
		<property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
		<property name="ignoreResourceNotFound" value="true" />
		<property name="locations">
			<list>
				<value>classpath:jdbc.properties</value>
				<!-- 本地开发 -->
				<value>classpath:application.local.properties</value>
				<!-- 服务器环境 -->
				<value>file:/var/mms/application.server.properties</value>
			</list>
		</property>
	</bean>

         加入一个配置文件管理商业接口 modules-remote.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
	xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
	xmlns:jee="http://www.springframework.org/schema/jee" xmlns:util="http://www.springframework.org/schema/util"
	xsi:schemaLocation="
		   http://www.springframework.org/schema/beans 
           http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
           http://www.springframework.org/schema/context
           http://www.springframework.org/schema/context/spring-context-2.5.xsd
           http://www.springframework.org/schema/aop 
           http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
           http://www.springframework.org/schema/tx 
           http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
           http://www.springframework.org/schema/jee 
           http://www.springframework.org/schema/jee/spring-jee-2.5.xsd
           http://www.springframework.org/schema/util 
           http://www.springframework.org/schema/util/spring-util-2.5.xsd">
	<util:map id="jndiEnv">
		<entry key="java.naming.factory.initial" value="${naming.initial}" />
		<entry key="java.naming.factory.url.pkgs" value="${naming.pkgs}" />
		<entry key="java.naming.provider.url" value="${naming.url}" />
	</util:map>
	<jee:remote-slsb id="orderInfoService"
		jndi-name="${naming.root}/OrderInfoServiceBean/remote"
		business-interface="com.test.trade.service.OrderInfoService"
		resource-ref="true" cache-home="true" lookup-home-on-startup="false"
		environment-ref="jndiEnv">
	</jee:remote-slsb>
</beans>

           OrderInfoService是一个商业接口,OrderInfoServiceBean是一个具体的实现。

           开发中注入这个远程接口即可

 

 

        private OrderInfoService _orderInfoService;

	@Autowired
	public void setOrderInfoService(OrderInfoService orderInfoService) {
		_orderInfoService = orderInfoService;
	}

         为了应用以上服务需要导入一些Jboss的jar包,因为没有使用maven,手动引入以下jar包

         jbossall-client.jar
         jboss-aspect-library-jdk50.jar
         jboss-ejb3x.jar

         以上jar在{JBOSS_ROOT}/client 下都可以找到。

 

         have fun fellows.   

 

分享到:
评论

相关推荐

    Spring的7大模块面试

    ApplicationContext则进一步扩展了BeanFactory,提供了一个包含企业服务如JNDI、EJB等的上下文环境。 2. **Spring上下文**:Spring上下文是一个配置容器,它包含了应用程序运行所需的上下文信息。这个上下文不仅...

    struts2+spring+ejb3源代码(完整版)

    Struts2、Spring和EJB3是Java Web开发中的三个重要框架,它们分别在MVC模式、依赖注入和企业级服务方面发挥着关键作用。这个压缩包提供的源代码是一个完整的项目示例,展示了如何将这三个框架集成到一个应用程序中。...

    EJB3.0+Spring+Struts实现简单银行系统,供学习

    这是一个基于Java技术栈的银行系统实现,主要利用了EJB3.0、Spring和Struts框架,这三者是企业级Java应用开发中常见的核心技术。EJB(Enterprise JavaBeans)3.0是Java EE平台的核心组件之一,用于构建可复用的、...

    JNDI示例整合SSH

    可以利用Spring的JNDI_lookup标签或者`jee:jndi-lookup`元素来查找并注入JNDI资源,例如数据源。这样,Spring管理的bean可以直接使用由JNDI查找得到的数据源。 3. **Hibernate:** Hibernate作为ORM框架,用于对象-...

    EJB3与Struts与Spring整合开发(SSE)

    这种方式下,EJB和Web应用之间的通信可以通过RMI(远程方法调用)或JNDI(Java命名和目录接口)实现。 SSE入门程序的配置文件,比如struts.xml、spring-context.xml和ejb-jar.xml,是理解和学习整合的关键。struts...

    EJB3.0__EJB3.0

    在EJB3.0中,这两种注解使接口的使用更加灵活,无需传统的接口实现方式。 总的来说,EJB3.0简化了传统EJB的复杂性,提升了开发效率,同时保持了企业级应用所需的关键特性。通过注解、容器管理和事务支持,EJB3.0...

    spring4.3.2参考文档(英文)

    Spring 上下文包括企业服务,例如 JNDI、EJB、电子邮件、国际化、校验和调度功能。 Spring AOP:通过配置管理特性,Spring AOP 模块直接将面向方面的编程功能集成到了 Spring 框架中。所以,可以很容易地使 Spring ...

    ejb调用详解

    在ejb3.0时代,许多框架如Hibernate(持久层)、Spring(依赖注入和事务管理)和CDI(Contexts and Dependency Injection)被广泛使用,它们与EJB结合,提供了更强大的开发能力。 总之,EJB调用是一个涉及服务器...

    spring4.1核心包

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

    EJB教程(技术规范)

    虽然EJB在过去是企业级Java开发的首选,但随着Spring、Quarkus等轻量级框架的崛起,EJB的应用逐渐减少。这些框架提供了更灵活的编程模型,降低了复杂性,同时也保留了EJB的部分核心特性,如依赖注入、事务管理等。 ...

    EJB了解入门ppt文件

    2. **EJB 服务器**:EJB 服务器是一个高级进程,它管理一个或多个EJB容器,并提供对系统服务的访问,比如JNDI(Java Naming and Directory Interface)和事务服务。服务器还可能包含特定于供应商的功能,如数据库...

    EJB笔记--介绍了EJB的用处以及编程方法

    4. **配置JNDI**:设置命名服务,使得客户端能够查找并访问EJB组件。 5. **测试与调试**:确保应用按预期工作。 #### 五、JPA在容器内外的使用方法 JPA(Java Persistence API)是一种Java EE标准,用于管理关系型...

    精通EJB EJB教程

    - **JNDI(Java Naming and Directory Interface)**:理解如何通过JNDI查找和绑定EJB。 - **JTA(Java Transaction API)**和JMS:了解这两个API在EJB中的应用。 - **测试和调试EJB**:掌握如何使用JUnit和其他工具...

    Spring in Action(第二版 中文高清版).part2

    第8章 Spring和基于POJO的远程服务 8.1 Spring远程调用概览 8.2 与RMI一起工作 8.2.1 连接RMI服务 8.2.2 输出RMI服务 8.3 使用Hessian和Burlap的远程调用 8.3.1 访问Hessian/Burlap服务 8.3.2 用Hessian或...

    EJB 编程及 J2EE 系统架构和设计

    - **JNDI (Java Naming and Directory Interface)**:实现了查找和定位服务的命名服务接口,包括本地和远程服务。 - **JMS (Java Message Service)**:提供了消息传递机制,用于解耦应用程序组件,支持点对点和发布/...

    spring详细教程

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

    基于Java的EJB中有、无状态SessionBean的两个例子.zip

    本资料包"基于Java的EJB中有、无状态SessionBean的两个例子.zip"包含的是关于有状态和无状态SessionBean的实例代码,帮助开发者理解和掌握这两种类型SessionBean的用法。 1. **无状态SessionBean(Stateless ...

    spring-framework-4.2.5-schema

    `jee`目录下的schema涵盖了Java企业版(Java EE)的相关配置,包括JNDI查找、EJB集成、邮件服务等。通过这些schema,开发者可以轻松地将Spring应用与Java EE服务器进行整合,实现企业级功能。 `jdbc`目录的schema...

    spring-framework-4.3.30.RELEASE-schema.zip

    "jee"(Java Enterprise Edition)模块展示了Spring对企业级应用的支持,如JNDI查找、EJB集成、邮件服务等,使得Spring能够无缝融入Java EE环境。 总结来说,"spring-framework-4.3.30.RELEASE-schema.zip"这个...

    spring3.0jar包

    你可以认为IoC与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。 ◆面向切面——Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务...

Global site tag (gtag.js) - Google Analytics