`

Spring RMI 实例

 
阅读更多
首先是服务端:
接口和实现

public interface ServerRmiI {

public String sayHi(String name);
}

public class ServerRmiImpl implements ServerRmiI{

public String sayHi(String name) {
  // TODO Auto-generated method stub
  return "Hi,"+name;
}

}
配置:
<?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"
    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"
    default-autowire="byName" default-lazy-init="true"> 
     <bean name="rmiserver" class="com.server.ServerRmiImpl"/>
     <bean name="serverTest" class="org.springframework.remoting.rmi.RmiServiceExporter">
       <property name="service" ref="rmiserver"/>
       <property name="serviceName" value="serverRmiTest"/>
       <property name="serviceInterface" value="com.server.ServerRmiI"/>
       <property name="registryPort" value="1021"/>
     </bean>
</beans>

启动:
public static void main(String[] args) {
  ApplicationContext context = new ClassPathXmlApplicationContext("classpath:applicationContext-bean.xml");
        context.getBean("serverTest");
}
看见如下信息就代表成功了:
信息: Binding service 'serverRmiTest' to RMI registry: RegistryImpl[UnicastServerRef [liveRef: [endpoint:[yourhost:1021](local),objID:[0:0:0, 0]]]]
客户端:
配置:
<?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"
    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"
    default-autowire="byName" default-lazy-init="true"> 
     <bean name="clentrmi" class="org.springframework.remoting.rmi.RmiProxyFactoryBean">
     <property name="serviceUrl" value="rmi://yourhost:1021/serverRmiTest"/>
     <property name="serviceInterface" value="com.server.ServerRmiI"/>
     </bean>
</beans>

测试类:
public static void main(String[] args) {
  ApplicationContext context = new ClassPathXmlApplicationContext("classpath:applicationContext-bean.xml");
        ServerRmiI rmiI = (ServerRmiI) context.getBean("clentrmi");
        System.out.println(rmiI.sayHi("rmi"));
}
打印:Hi,rmi
分享到:
评论

相关推荐

    spring RMI 实例

    spring 对 RMI 的封装 一个很精简的例子,用于springRMI的入门学习很好 调试通过咯

    rmi与spring整合实例

    rmi与spring整合实例

    java rmi spring 使用实例

    java rmi spring 使用实例,内涵服务端和客户端的源代码,测试可用。

    spring与rmi 整合实例 源码详解

    spring 与rmi 的整合 1.首先编写接口 interface : 这里的接口要继承Remote, 它是一个标识接口 2.编写实现类 3.编写main方法用于启动 service 4 配置spring文件 编写客户端测试类

    Spring RMI

    Spring集成rmi,实现远程服务,使用RMI集成实例

    Spring(RMI)实例

    很多新手问我怎么在Spring中使用RMI,我做了一个实例共享出来,其实网上有很多例子。

    rmi实例(Spring整合)

    NULL 博文链接:https://spacecity.iteye.com/blog/1471250

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

    Spring 2.5 jar 所有开发包及完整文档及项目开发实例 spring jar 包详解spring.jar是包含有完整发布的单个jar包,spring.jar中包含除了 spring-mock.jar里所包含的内容外其它所有jar包的内容,因为只有在开发环境下...

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

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

    spring mvc hessian maven简单实例

    NULL 博文链接:https://asia007.iteye.com/blog/2020523

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

    2. Spring 2.0 的新特性 2.1. 简介 2.2. 控制反转(IoC)容器 2.2.1. 更简单的XML配置 2.2.2. 新的bean作用域 2.2.3. 可扩展的XML编写 2.3. 面向切面编程(AOP) 2.3.1. 更加简单的AOP XML配置 2.3.2. 对@AspectJ 切面的...

    Spring 2.0 开发参考手册

    17.2. 使用RMI暴露服务 17.2.1. 使用 RmiServiceExporter 暴露服务 17.2.2. 在客户端链接服务 17.3. 使用Hessian或者Burlap通过HTTP远程调用服务 17.3.1. 为Hessian配置DispatcherServlet 17.3.2. 使用...

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

    1.1 实例化Spring IoC容器 1 1.1.1 问题 1 1.1.2 解决方案 1 1.1.3 工作原理 3 1.2 配置Spring IoC容器中的Bean 4 1.2.1 问题 4 1.2.2 解决方案 4 1.2.3 工作原理 4 1.3 调用构造程序创建Bean 14 ...

    Spring中文帮助文档

    2.6.4. 将Spring 应用程序上下文部署为JCA adapter 2.6.5. 计划任务 2.6.6. 对Java 5 (Tiger) 支持 2.7. 移植到Spring 2.5 2.7.1. 改变 2.8. 更新的样例应用 2.9. 改进的文档 I. 核心技术 3. IoC(控制反转)...

    spring chm文档

    17.2. 使用RMI暴露服务 17.2.1. 使用 RmiServiceExporter 暴露服务 17.2.2. 在客户端链接服务 17.3. 使用Hessian或者Burlap通过HTTP远程调用服务 17.3.1. 为Hessian配置DispatcherServlet 17.3.2. 使用...

    Spring整合Ecache

    本实例的环境 eclipse + maven + spring + ehcache + junit EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认的CacheProvider。Ehcache是一种广泛使用的开 源Java分布式缓存。主要...

    Spring API

    2. Spring 2.0和 2.5的新特性 2.1. 简介 2.2. 控制反转(IoC)容器 2.2.1. 新的bean作用域 2.2.2. 更简单的XML配置 2.2.3. 可扩展的XML编写 2.2.4. Annotation(注解)驱动配置 2.2.5. 在classpath中自动搜索组件...

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

    1.1 实例化Spring IoC容器 1 1.1.1 问题 1 1.1.2 解决方案 1 1.1.3 工作原理 3 1.2 配置Spring IoC容器中的Bean 4 1.2.1 问题 4 1.2.2 解决方案 4 1.2.3 工作原理 4 1.3 调用构造程序创建Bean 14 ...

    从Java走向Java+EE+.rar

    16.2 实例——用Spring来打招呼 246 16.3 小结 248 第17章 JNDI和Java RMI远程调用 249 17.1 用Java RMI实现远程调用 250 17.2 利用JNDI定位资源 256 17.3 实例——分布式的HelloWorld 260 17.4 小结 ...

Global site tag (gtag.js) - Google Analytics