`
ch_space
  • 浏览: 109386 次
  • 性别: Icon_minigender_1
  • 来自: 农村进城务工人员
社区版块
存档分类
最新评论

Spring 对RMI的支持

阅读更多
RMI是Java的标准远程调用方法,基于序列化机制实现。将一个组件发布为远程服务,允许客户端远程调用,组件需要满足以下条件:
1、服务接口要继承自java.rmi.Remote接口
2、服务实现类要继承自java.rmi.server.UnicastRemoteObject类
3、服务接口的返回方法全部都是基本类型,或实现了java.io.Serializable接口

对已经编写的组件,要想允许其他Java应用远程调用,就必须对其改造,而Spring允许不对其改造就可以将这些组件发布为远程服务。

//POJO
public class Book implements Serializable{
   ...
}

//服务接口:
public interface BookService{
   public Book getBook(int id);
}
//服务实现类
public class BookServiceImpl implements BookService{
   public Book getBook(int id){
      ...
   }
}


在Spring中配置BookeService组件为远程服务:
<bean id="bookService" class="test.BookServiceImpl" />
<bean id="rmiService" class="org.springframework.remoting.rmi.RmiServiceExporter">
   <property name="serviceName" value="BookService"/>
   <property name="service" ref="bookService"/>  
   <property name="serviceInterface" value="test.BookService"/>  
   <property name="registryPort" value="1099"/>     
</bean>


启动服务端:
public void main(String args[]){
   new ClassPathXmlApplicationContext("xxx.xml");
}


客户端调用:
public void main(String args[]) throws Exception{
   RmiProxyFactoryBean factory=new RmiProxyFactoryBean();
   factory.setServiceInterface(UserService.class);
   factory.setServiceUrl("rmi://ip:1099/UserService");
   factory.afterPropertiesSet();
   UserService service=(UserService)factory.getObject();
   service.getBook(12);
}


如果客户端也利用了Spring Ioc,可以将RmiProxyFactoryBean在xml文件中装配出来,免去new xxx()操作。
分享到:
评论

相关推荐

    Spring 实现远程访问详解——rmi

    1. 远程调用RMI(Remote Method Invocation): 通过使用 RmiProxyFactoryBean 和 RmiServiceExporter,并且,Spring支持两个传统的RMI(使用 java.rmi.Remote接口和java.rmi.RemoteException)和通过RMI调用器实现的...

    spring RMI 远程接口调用

    spring RMI 远程接口调用 包含服务端客户端程序,可完整运行

    实现JMX的spring支持,拓展了RMI远程接口。

    JMX集成到spring中,并提供了一个rmi远程连接的配置文件

    spring jar 包详解

    (9) spring-remoting.jar 这个jar文件包含支持EJB、JMS、远程调用Remoting(RMI、Hessian、Burlap、Http Invoker、JAX-RPC)方面的类。 (10) spring-support.jar 这个jar文件包含支持缓存Cache(ehcache)、JCA、...

    最新最全的spring开发包

    这个jar文件包含Spring对DAO特性集进行了扩展,使其支持 iBATIS、JDO、OJB、TopLink,因为Hibernate已经独立成包了,现在不包含在这个包里了。这个jar文件里大部分的类都要依赖 spring-dao.jar里的类,用这个包时你...

    Spring 2.5 jar 所有开发包及完整文档及项目开发实例

     这个jar文件包含Spring对DAO特性集进行了扩展,使其支持 iBATIS、JDO、OJB、TopLink,因为Hibernate已经独立成包了,现在不包含在这个包里了。这个jar文件里大部分的类都要依赖 spring-dao.jar里的类,用这个包时...

    spring3.2中文文档

    spring3.2框架是一个轻量级的解决方案和...spring 框架支持声明式事务管理、远程访问 你的逻辑通过RMI或web服务,以及各种选项 坚持你的数据。 它提供了一个功能全面的 MVC框架 ,并允许您 整合 aop 透明地进 你的软件。

    Spring2.52 开发手册

    Spring为编写企业应用程序提供了轻量的解决方案,同时仍然支持使用声明式事务、 用RMI或web service远程调用、以及使用多种方式来将数据持久化到数据库。Spring提供了全功能的 MVC framework, 以及透明集成AOP到你...

    Spring-Reference_zh_CN(Spring中文参考手册)

    13.8. Spring对分段文件上传(multipart file upload)的支持 13.8.1. 介绍 13.8.2. 使用MultipartResolver 13.8.3. 在表单中处理分段文件上传 13.9. 使用Spring的表单标签库 13.9.1. 配置标签库 13.9.2. form标签 ...

    Spring 2.0 开发参考手册

    13.8. Spring对分段文件上传(multipart file upload)的支持 13.8.1. 介绍 13.8.2. 使用MultipartResolver 13.8.3. 在表单中处理分段文件上传 13.9. 使用Spring的表单标签库 13.9.1. 配置标签库 13.9.2. form...

    spring-framework-5-0-0-m3-zh_cn

    Spring Framework 是一种轻量级... Spring 框架支持声 明式事务管理,通过RMI或Web服务远程访问你的逻辑,以及用于持久存储数据的各种选项。 它提供了一个全功能的 MVC 框架,并使你能够将 AOP 透明地集成到你的软件中

    Spring中文帮助文档

    13.8. Spring对分段文件上传(multipart file upload)的支持 13.8.1. 介绍 13.8.2. 使用MultipartResolver 13.8.3. 在表单中处理分段文件上传 13.9. 使用Spring的表单标签库 13.9.1. 配置 13.9.2. form标签 ...

    Spring 实现远程访问详解——jms和activemq

    前几章我们分别利用spring rmi、httpinvoker、httpclient、webservice技术实现不同服务器间的远程访问。本章我将通过spring jms和activemq实现单Web项目服务器间异步访问和多Web项目服务器间异步访问。 一. 简介 1. ...

    开源框架 Spring Gossip

    Spring 的 DAO 支持 DataSource 注入 DataSource 置换 JDBC 支援 Spring 在 JDBC 的使用上提供了几个类别,让您可以简化 JDBC 在使用时的流程。 使用 JdbcTemplate JdbcTemplate 执行与...

    Spring API

    13.8. Spring对分段文件上传(multipart file upload)的支持 13.8.1. 介绍 13.8.2. 使用MultipartResolver 13.8.3. 在表单中处理分段文件上传 13.9. 使用Spring的表单标签库 13.9.1. 配置 13.9.2. form标签 ...

    spring 帮助文档(chm格式)

    Spring为 已建立的企业级应用提供了一个轻量级的解决方案,这个方案包括声明式事务管理, 通过RMI或webservices远程访问业务逻辑,mail支持工具以及数据库持久化的多种选择。 Spring还提供了一个MVC应用框架,可以...

    spring chm文档

    13.8. Spring对分段文件上传(multipart file upload)的支持 13.8.1. 介绍 13.8.2. 使用MultipartResolver 13.8.3. 在表单中处理分段文件上传 13.9. 使用Spring的表单标签库 13.9.1. 配置标签库 13.9.2. form...

    spring-framework-4-开发手册.pdf

    Spring Framework 是一个轻...Spring Framework 支 持声明式事务管理,通过 RMI 或 Web 服务远程访问你的逻辑,并支持多种选择持久化你的 数据。它提供了一个全功能的 MVC 框架,使您能够将 AOP 透明地集成到您的软件。

    spring in action英文版

     5.1.2 理解Spring对事务管理的支持  5.1.3 介绍Spring的事务管理器  5.2 在Spring中编写事务  5.3 声明式事务  5.3.1 理解事务属性  5.3.2 声明一个简单的事务策略  5.4 通过方法名声明事务 ...

    Spring攻略(第二版 中文高清版).part1

    3.1 启用Spring的AspectJ注解支持 113 3.1.1 问题 113 3.1.2 解决方案 113 3.1.3 工作原理 113 3.2 用AspectJ注解声明aspect 115 3.2.1 问题 115 3.2.2 解决方案 115 3.2.3 工作原理 116 3.3 访问...

Global site tag (gtag.js) - Google Analytics