`
jslfl
  • 浏览: 313176 次
  • 性别: 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 技术交流圈
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics