……继续上一篇的内容
原理搞清楚了那就准备写服务端和客户端吧!
首先把服务端搭建起来吧,由于项目是基于spring的rmi实现。因此服务端需要spring相关配置:
引入spring依赖的相关jar包:
然后开始代码编写,由于rmi需要接口来传递对象,需要先建立接口:
以下内容借鉴转载于:这位大牛的(由于我的工程涉及公司信息,就贴出别的大牛的吧,逻辑一样)
publicinterfaceHelloService
{
/**
* 简单的返回“Hello World!"字样
*
* @return 返回“Hello World!"字样
*/
publicString
helloWorld();
/**
* 一个简单的业务方法,根据传入的人名返回相应的问候语
*
* @param someBodyName 人名
* @return 返回相应的问候语
*/
publicString
sayHelloToSomeBody(String someBodyName);
}
publicclassHelloServiceImplimplementsHelloService
{
publicHelloServiceImpl()
{
}
/**
* 简单的返回“Hello World!"字样
*
* @return 返回“Hello World!"字样
*/
publicString
helloWorld() {
return"Hello
World!";
}
/**
* 一个简单的业务方法,根据传入的人名返回相应的问候语
*
* @param someBodyName 人名
* @return 返回相应的问候语
*/
publicString
sayHelloToSomeBody(String someBodyName) {
return"你好,"+
someBodyName +"!";
}
}
Spring配置rmi服务
<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<beanid="helloService"class="lavasoft.sturmi.HelloServiceImpl"/>
<beanid="serviceExporter"class="org.springframework.remoting.rmi.RmiServiceExporter">
<propertyname="service"ref="helloService"/>
<!--定义服务名-->
<propertyname="serviceName"value="hello"/>
<propertyname="serviceInterface"value="lavasoft.sturmi.HelloService"/>
<propertyname="registryPort"value="8088"/>
</bean>
</beans>
服务端测试:
/**
* 通过Spring发布RMI服务
*
* @author leizhimin 2009-8-17 14:22:06
*/
publicclassHelloHost
{
publicstaticvoidmain(String[]
args) {
ApplicationContext ctx =newClassPathXmlApplicationContext("/applicationContext_rmi_server.xml");
System.out.println("RMI服务伴随Spring的启动而启动了.....");
}
}
客户端调用:
在Spring中配置客户端要调用服务:
<?xmlversion="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">
<beanid="helloService"class="org.springframework.remoting.rmi.RmiProxyFactoryBean">
<propertyname="serviceUrl"value="rmi://192.168.14.117:8088/hello"/>
<propertyname="serviceInterface"value="lavasoft.sturmi.HelloService"/>
</bean>
<beanid="helloServiceClient"class="lavasoft.sturmi.HelloClient">
<propertyname="helloService"ref="helloService"/>
</bean>
</beans>
客户端测试代码:
publicclassHelloClient
{
privateHelloService
helloService;
publicstaticvoidmain(String[]
args)throwsRemoteException
{
ApplicationContext ctx =newClassPathXmlApplicationContext("/applicationContext_rmi_client.xml");
HelloService hs = (HelloService) ctx.getBean("helloService");
System.out.println(hs.helloWorld());
System.out.println(hs.sayHelloToSomeBody("Lavasoft"));
}
publicvoidsetHelloService(HelloService
helloService) {
this.helloService
= helloService;
}
}
就这样spring的rmi调用整合就完成了!祝你好运!
分享到:
相关推荐
rmi 客户端 和 服务端 代码
rmi客户端和服务端例子程序
java rmi demo1 一个客户端,一个服务端,一个最顶服务端,客户端向服务端上传下载文件,服务端传输到最顶服务端,然后服务端删除文件,当客户端下载的时候,先判断服务端有无文件,如果没有的话就从最顶服务端下载...
一个实验课的内容,里面简单的写了一些HTTP服务器,HTTP客户端,RMI客户端和服务器
测试成功,RMI 服务器与客户端源码,很简单,自己做的,适合初学者。
spring RMI 远程接口调用 包含服务端客户端程序,可完整运行
spring rmi 远程调用服务端和客户端源码,eclipse环境,jdk1.7.
spring和RMI分布式整合源码
spring+rmi非本地实现,包含客户端和服务端。
用RMI技术做得一个聊天工具,分服务器端和客户端, 原理很简单,供初学者参考学习使用
spring 与rmi 的整合 1.首先编写接口 interface : 这里的接口要继承Remote, 它是一个标识接口 2.编写实现类 3.编写main方法用于启动 service 4 配置spring文件 编写客户端测试类
SpringRMI小例子代码,仅供参考。SpringRMI小例子代码,仅供参考。
亲测可用,可作为java rmi入门程序,一看即懂。
RMI RMI-IIOP 客户端服务器交互 源代码下载
本工程用于研究RMI技术——为RMI服务端 本工程编码方式:UTF-8 参考博客地址:http://blog.csdn.net/gaohuanjie/article/details/38338765
rmi与spring整合实例
闲来无事,做了个Spring RMI的小例子,非常易懂。
为了避免业务逻辑重新开发,顾使用spring rmi,把所有的bean作为rmi服务暴漏出来,在客户端只需要把项目依赖过来就ok,或者把以前的接口导入过来。 参考文档:...
spring rmi 客户端 服务器 调用
1. 远程调用RMI(Remote Method Invocation): 通过使用 RmiProxyFactoryBean 和 RmiServiceExporter,并且,Spring支持两个传统的RMI(使用 java.rmi.Remote接口和java.rmi.RemoteException)和通过RMI调用器实现的...