`
Callan
  • 浏览: 731397 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

spring rmi应用

    博客分类:
  • Java
阅读更多
利用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>

 

 

客户端:

必须把服务端的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"));
	}
}

 

  • rmi.rar (9.8 KB)
  • 下载次数: 344
7
0
分享到:
评论
1 楼 我不知道 2008-05-04  
有个问题请教一下。
我现在server有几个提供rmi的接口是标准方式生成的,继承了Remote接口。

我现在客户机用RmiProxyFactoryBean访问时,怎么告诉我找不到xxx_stub类呢??
spring不是号称不用stub和streken的吗?

相关推荐

    spring rmi 简单应用

    client端--zhy 博文链接:https://zhykhs.iteye.com/blog/183901

    基于Spring+hibernate+mysql+rmi+swing的登录Demo

    应用Spring+hibernate+mysql+rmi+swing 做一个远程用户登陆界面。登陆进去以后出现一个界面,可以增加和删除用户。并实现国际化,压缩包中有mysql的数据库脚本。

    spring-rmi-example:Spring rmi 示例,取自 code.google.com,因为 code.google.com 将停止使用

    spring-rmi-示例 ...这个项目是如何在 Spring 的帮助下设置 RMI 服务器和客户端的示例。... Spring RMI 示例服务器,即 Web 应用程序 Spring RMI 示例客户端 服务器 Spring 配置如下: &lt; / bean &gt; &lt; pr

    长沙蓝杰实训java课件之 RMI技术解析(www.NetJava.cn)

    做为java分布式计算的基础框架的RMI体系,是javaEE结构的基础技术. 本课件全面讲解了RMI的一般实现,特殊问题解决及... 6.Spring中的rmi应用 7.类似RMI的相关开源技术实现 -------具体请下载附件或登陆www.NetJava.cn

    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、...

    Spring2.52 开发手册

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

    最新最全的spring开发包

    spring.jar是包含有完整发布的单个jar包,spring.jar中包含除了spring-mock.jar里所包含的内容外其它所有jar包的内容,因为只有在开发环境下才会用到spring-mock.jar来进行辅助测试,正式应用系统中是用不得这些类的...

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

    spring jar 包详解spring.jar是包含有完整发布的单个jar包,spring.jar中包含除了 spring-mock.jar里所包含的内容外其它所有jar包的内容,因为只有在开发环境下才会用到spring-mock.jar来进行辅助测试,正式应用系统...

    spring3.2中文文档

    spring3.2框架是一个轻量级的解决方案和一个潜在的 一站式为构建企业级应用程序。 然而, spring是模块化的,允许你只使用那些你需要的部分, 无需引入其余。 您可以使用IoC容器, Struts在上,但是你也可以只使用 ...

    Spring2中文参考手册

    在此基础上,Spring还提供了包括声明式事务管理,RMI或Web Services远程访问业务逻辑,以及可以多种方法进行的持久化数据库地解决方案。另外,Spring还有一个全功能的 MVC框架,并能透明的把 AOP 集成到你的软件中去...

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

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

    spring 帮助文档(chm格式)

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

Global site tag (gtag.js) - Google Analytics