`
itspring
  • 浏览: 45103 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

spring 中RMI的应用

阅读更多

利用Spring来实现RMI,不用实现remote接口,也不用调用rmic编译stub和skeleton,
服务端可以定义org.springframework.remoting.rmi.RmiServiceExporter类完成RMI服务器实现.
客户端只要定义org.springframework.remoting.rmi.RmiProxyFactoryBean,告知rmi的url和接口

服务器实现:
接口: IHello.java

 

 

package com.callan.Test;

public interface IHello {
 public String hello(String name);
}

 

 

实现类:HelloImp.java

 

package com.callan.Test;

public class HelloImp implements IHello{
 public String hello(String name){
  return "hello:" + name;
 }
}

 

 

 

 

服务端spring的配置:

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
    "
http://www.springframework.org/dtd/spring-beans.dtd">

<beans>

 <bean id="helloService" class="com.callan.Test.HelloImp"/>
 
 <bean id="serviceExporter" class="org.springframework.remoting.rmi.RmiServiceExporter">
  <property name="service">
   <ref bean="helloService"/>
  </property>
  <!-- 定义服务名 -->
  <property name="serviceName">
   <value>hello</value>
  </property>
  <property name="serviceInterface">
   <value>com.callan.Test.IHello</value>
  </property>
  <property name="registryPort">
            <value>8888</value>
        </property>
 </bean>
</beans>

 

 

 

客户端 spring:

必须把服务端的IHello.class文件放到客户端一份

 

接下来看看客户端要如何实作,只要透过org.springframework.remoting.rmi.RmiProxyFactoryBean,并告知服务的URL、代理的接口即可,就好像在使用本地端管理的服务一样:

 

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="
http://www.springframework.org/schema/beans"
 xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">

 <bean id="serviceClient"
  class="org.springframework.remoting.rmi.RmiProxyFactoryBean">
  
  <property name="serviceInterface">
   <value>com.callan.Test.IHello</value>
  </property>
  <!-- serviceUrl以rmi开头,定义服务器地址与端口和服务名 -->
  <property name="serviceUrl">
   <value>rmi://localhost:8888/hello</value>
  </property>
 </bean>
</beans>

 

客户端调用

package com.callan.Test;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;

public class RMIClient {

 public static void main(String[] args) {
  ApplicationContext content = new FileSystemXmlApplicationContext("E:/workspace/rmiClient/src/applicationContext.xml");
  
  IHello iHello = (IHello)content.getBean("serviceClient");
  
  System.out.println(iHello.hello("callan"));
 }
}

分享到:
评论

相关推荐

    spring和RMI分布式整合源码

    具体到这个压缩包“springRMI”,我们可以推测它可能包含了以下几个部分: 1. **配置文件**:如`applicationContext.xml`,其中定义了Spring容器中的Bean,可能包括RMI服务的接口和实现。 2. **远程接口**:`.java`...

    spring rmi应用

    在实际应用中,Spring RMI提供了许多优势,如自动异常处理、透明的事务支持、线程管理等。同时,它还能与其他Spring特性如AOP结合,实现如日志、性能监控等功能。 然而,需要注意的是,虽然Spring RMI简化了远程...

    spring+rmi非本地实现

    在IT行业中,Spring框架是Java开发中的一个核心组件,它为构建可维护、可扩展的Web应用程序提供了强大的支持。RMI(Remote Method Invocation)则是Java平台上的远程对象调用技术,允许程序在不同的Java虚拟机之间...

    Spring-RMI.rar_spring rmi

    Spring框架对RMI的支持使得它更易于集成到现代企业级应用中,实现了服务间的松耦合和高效通信。本文将详细讲解Spring与RMI的整合,以及如何通过"SpringRMIClient"和"SpringRMIServer"这两个示例文件实现跨项目的远程...

    Spring RMI小例子

    Spring RMI(Remote Method Invocation)是Java平台上的远程方法调用技术,结合Spring框架,能够帮助开发者轻松...实践中,还可以进一步探索如何结合Spring的其他特性,如AOP和事务管理,来增强RMI应用的功能和健壮性。

    Spring RMI

    在Spring Boot应用中,可以通过配置文件(application.properties或application.yml)设置RMI端口和服务,自动暴露RMI接口。 ### 7. 示例代码 创建远程接口: ```java public interface MyRemoteService extends ...

    SpringRMI小例子

    在这个"SpringRMI小例子"中,我们将深入探讨如何利用Spring框架来增强RMI的功能,使其更加灵活和易于管理。 首先,我们需要理解Spring框架在RMI中的角色。Spring提供了对RMI的高级抽象,通过其`org.springframework...

    spring rmi 小例子

    6. **源码分析**:在提供的压缩包文件`SpringRMI`中,可能包含了上述所有步骤的代码示例。通过阅读这些源码,你可以深入理解Spring RMI的工作原理,包括服务暴露、注册、代理创建等。 7. **工具使用**:在开发过程...

    spring中使用RMI

    在Spring框架中,远程方法调用(Remote Method Invocation, RMI)是一种使应用程序能够通过网络调用另一个JVM上的对象方法的技术。RMI是Java平台的一部分,它允许开发者创建分布式应用,使得对象可以像调用本地方法...

    spring rmi 简单应用

    在实际应用中,Spring RMI可以与其他Spring特性结合,如AOP(面向切面编程)、事务管理等,提高应用程序的可维护性和扩展性。同时,RMI也可以与Spring的其他远程服务支持,如Hessian、 Burlap等相结合,实现不同类型...

    spring rmi 集成

    Spring框架提供了对RMI的支持,使得在Spring应用中集成RMI变得更加简单和灵活。本篇将深入探讨Spring如何与RMI结合,以及客户端和服务器端的实现细节。 ### 一、Spring RMI 服务器端集成 1. **定义远程接口**:...

    Spring-RMI (RMI调用, HTTP调用)

    在IT行业中,Spring框架是Java开发中的一个核心组件,它为构建可扩展、模块化且易于维护的应用程序提供了强大的支持。而Spring-RMI(Remote Method Invocation)和HTTP调用是Spring框架中两种不同的远程通信机制,...

    java Spring+RMI入门程序源代码

    通过这个 "java Spring+RMI 入门程序源代码",开发者可以学习如何在 Spring 框架中集成 RMI 技术,创建可扩展、高可用的分布式应用。项目中的 `rmiservice` 文件很可能包含了 RMI 服务端的实现,可以从中深入理解 ...

    如何在Spring框架中使用RMI技术.zip

    4. **配置RMI客户端**:在客户端应用中,同样需要Spring配置文件,定义一个`RmiProxyFactoryBean`,指定远程接口和服务器的URL,这样就可以创建一个代理对象,通过该对象调用远程服务。 5. **启动和调用**:启动...

    rmi与spring整合实例

    在IT行业中,远程方法调用(Remote Method Invocation,RMI)和Spring框架是两个非常重要的概念,它们在分布式系统开发中发挥着关键作用。RMI是Java平台提供的一种技术,用于在不同Java虚拟机(JVM)之间进行对象间...

    java spring+rmi 的远程调用例子

    Java Spring与RMI(Remote Method Invocation)的整合是企业级应用中常见的远程服务交互方式。Spring框架提供了对RMI的...通过学习和理解这些内容,你可以创建自己的Spring-RMI应用,实现不同节点间的分布式服务交互。

    spring RMI 实用分享

    在本文中,我们将深入探讨Spring框架如何集成RMI,以及如何创建和使用RMI客户端。 首先,让我们了解RMI的基本概念。RMI是一种机制,它允许一个对象在一台计算机上执行的方法可以在另一台计算机上执行,就好像这些...

Global site tag (gtag.js) - Google Analytics