`
jslfl
  • 浏览: 323779 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

spring RMI rmoting远程服务实例

阅读更多
还没有测试,先留在这儿,转自http://www.walkerjava.com/forum.php?mod=viewthread&tid=144&fromuid=3

服务器端:

接口定义类
public interface ITestRMI {
       public String sayHelloWorld(String name);
}

接口实现类定义
public class TestRMI implements ITestRMI {

   public String sayHelloWorld(String name) {
       String string = name + " Welcome to walkerjava 技术交流圈";
       return string;
   }

服务器端spring配置文件
<!-- 定义实现类bean -->
        <bean id="testRMI" class="com.walkerjava.service.TestRMI"></bean>
        
        <!-- 服务器端配置 -->
        <bean id="rmiServiceExporter" class="org.springframework.remoting.rmi.RmiServiceExporter">
                <!-- 定义提供服务的服务名称 value随便起,客户端使用 -->
                <property name="serviceName" value="test_rmi"></property>
                <!-- 定义提供服务的实现类,在客户端不用定义,value可以把bean的ID替换为com.walkerjava.serviceTestRMI -->
                <property name="service" value="testRMI" />
                <!-- 定义提供服务的接口类,在客户端必须定义,value可以定义bean然后替换为bean的ID -->
                <property name="serviceInterface" value="com.walkerjava.service.ITestRMI" />
                <!-- 定义提供服务的端口号,客户端使用 -->
                <property name="registryPort" value="11580"/>
        </bean>


客户端配置方式一
客户端接口与服务器端接口保持一致
public interface ITestRMI {
        public String sayHelloWorld(String name);
}

客户端服务层
public class TestService {

     public void test(String name) {
        String a = test_rmi.sayHelloWorld(name);
        System.out.println(a);
    }
   /* spring 注入的名称 */
   private ITestRMI client_rmi;

   public void setClient_rmi(ITestRMI client_rmi) {
         this.client_rmi= client_rmi;
   }
}

客户端action控制
public class TestAction {
      /* spring注入的service */
      private TestService testService = null;

     public String test() {
         testService.test("xphaier");
         return null;
     }

     public void setTestService(TestService testService) {
           this.testService = testService;
     }
}

客户端spring配置文件
<!-- 客户端配置 -->
        <bean id="ref_client_rmi" class="org.springframework.remoting.rmi.RmiProxyFactoryBean">
         <!-- 定义服务器端提供的接口类,value可以定义ref=bean然后替换为bean的ID -->
        <property name="serviceInterface" value="com.walkerjava.service.ITestRMI" />
        <!-- 定义服务器端提供的URL 端口号和服务器端的 registryPort配置的端口号一致-->


Struts.xml 配置
<package name="aa" extends="struts-default" namespace="/">
        <action name="test" method="test" class="testAction"></action>
</package>

客户端执行 http://localhost:8080/rmi_client/test.action

控制台输出 xphaier Welcome to walkerjava 技术交流圈
分享到:
评论

相关推荐

    rmi与spring整合实例

    当我们谈论“RMI与Spring整合实例”时,我们通常是指将RMI技术与Spring框架结合使用,以便构建可扩展的、分布式的Java应用程序。下面将详细解释这两个概念以及如何将它们整合在一起。 1. RMI基础: - RMI的核心...

    spring RMI 远程接口调用

    在Spring中,RMI的实现被集成到IoC(Inversion of Control)容器中,这样可以方便地管理和配置远程服务。 服务端的实现通常包括以下步骤: 1. **定义远程接口**:这是服务端提供给客户端调用的接口,需要使用`@...

    Spring RMI小例子

    - **`&lt;bean&gt;`标签中的`rmi:`命名空间**:Spring配置文件中可以使用`&lt;rmi:registry&gt;`来定义RMI注册表,`&lt;rmi:export&gt;`用于导出远程服务。 - **`RmiServiceExporter`**:Spring提供的bean,负责将Spring Bean暴露为...

    Spring RMI

    - **配置RMI服务**:在Spring的XML配置文件中,使用`&lt;bean&gt;`标签定义RMI服务,指定远程接口、实现类以及RMI服务的端口。 - **注册RMI服务**:使用`&lt;bean&gt;`标签的`lookup-by-name`属性,将服务注册到RMI注册表。 - **...

    spring RMI 服务(自动把service发布为RMI服务)

    Spring RMI服务是一种在Java平台上实现远程方法调用(Remote Method Invocation, RMI)的技术,它允许分布式系统中的不同组件通过网络进行通信。在Spring框架的支持下,我们可以更方便地将服务发布为RMI服务,使得...

    SpringRMI小例子

    Spring Remote Method Invocation(RMI)是Java平台上的一个远程对象调用框架,它允许一个Java对象在一台机器上执行,并且被另一台机器上的客户端调用。在这个"SpringRMI小例子"中,我们将深入探讨如何利用Spring...

    spring rmi应用

    Spring RMI整合了RMI机制,提供了一种更加灵活和易于管理的方式,让开发者可以在Spring容器中定义远程服务,并通过Spring的IoC(Inversion of Control)和AOP(Aspect Oriented Programming)特性来增强这些服务。...

    spring RMI简单例子

    Spring RMI(Remote Method Invocation)是Java平台上的远程方法调用技术,结合Spring框架的特性,使得在分布式系统中调用远程服务变得更加便捷。在这个简单的例子中,我们将深入理解Spring RMI的工作原理以及如何...

    spring RMI 实用分享

    Spring RMI(Remote Method ...创建RMI客户端也很简单,使用`RmiProxyFactoryBean`来创建远程服务的代理实例。 1. **配置RMI客户端**:在Spring配置文件中,使用`RmiProxyFactoryBean`创建远程服务代理。 ```xml ...

    spring rmi 源码

    `RmiProxyFactoryBean`是一个Spring的工厂bean,它可以动态地生成RMI服务的代理,从而使得客户端代码可以像调用本地对象一样调用远程服务。客户端的配置文件可能如下: ```xml &lt;bean id="helloService" class="org....

    spring rmi 改造

    在IT行业中,Spring框架是Java开发中的一个基石,它提供了丰富的功能来简化应用程序的构建,包括远程过程调用(Remote Method Invocation,RMI)服务。本文将深入探讨"spring rmi 改造"这一主题,主要关注如何在原有...

    RMI实现远程文件传输实例

    在你提供的实例中,“RMI实现远程文件传输”是利用RMI来传输“KEY文件”的具体应用。 首先,理解RMI的基本概念: 1. 远程对象:这是在远程服务器上运行并可以通过网络访问的对象。它们需要实现特定的接口,这个接口...

    java spring+rmi 的远程调用例子

    Java Spring与RMI(Remote Method Invocation)的整合是企业级应用中常见的远程服务交互方式。Spring框架提供了对RMI的支持,使得开发者能够方便地在分布式环境中进行服务的调用。这个压缩包文件“Spring+RMI”很...

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

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

    spring rmi 小例子

    3. **服务器端配置**:在Spring配置文件中,我们需要声明RMI服务的bean,并将其导出为远程服务。这可以通过`rmiServerRegistry`和`rmiServiceExporter`实现: ```xml ...

    Spring-RMI.rar_spring rmi

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

    Spring Rmi使用文档

    通过 Spring RMI, 开发者能够更加简便地搭建和管理远程服务。传统上,使用 Java 的 RMI 需要进行复杂的配置和编码工作,例如定义远程接口继承 `java.rmi.Remote` 接口、实现类继承 `java.rmi.UnicastRemoteObject` ...

    spring和RMI分布式整合源码

    5. **客户端代码**:使用Spring的`RmiProxyFactoryBean`或`JndiObjectFactoryBean`来查找和代理RMI服务的代码,进行远程调用。 6. **测试类**:可能包含单元测试或集成测试,验证RMI服务的正确性和性能。 通过分析...

    java项目使用spring rmi所涉及到的包

    在Java项目中,Spring RMI(Remote Method Invocation)是一种整合远程方法调用功能与Spring框架的方式,它使得在分布式环境中管理对象和服务变得更加便捷。本文将深入探讨Spring RMI涉及的包,以及如何在项目中使用...

    spring rmi 简单应用

    Spring RMI在此基础上增加了配置简化、依赖注入等特性,使得远程服务的创建和调用更加便捷。 首先,我们来理解一下Spring RMI的核心概念: 1. **远程接口(Remote Interface)**:这是定义远程方法的接口,通常...

Global site tag (gtag.js) - Google Analytics