Spring Rmi配置
- - 企业架构 - ITeye博客现在远程调用一般用RPC,webservice或者Rmi,而目前用的比较多的是webservice和Rmi. webservice和rmi的最主要的区别,rmi的客户端和服务端都必须是java,webservice没有这个限制,webservice是在http协议上传递xml文本文件. 与语言和平台无关,rmi是在tcp协议上传递可序列化的java对象,只能用在java虚拟机上,绑定语言.
在Spring整合Rmi中:
服务端使用了org.springframework.remoting.rmi.RmiServiceExporter
RmiServiceExporter把任何Spring管理的Bean输出成一个RMI服务。通过把Bean包装在一个适配器类中工作。适配器类被绑定到RMI注册表中,并且将请求代理给服务类。
客户端使用了org.springframework.remoting.rmi.RmiProxyFactoryBean
客户端的核心是RmiProxyFactoryBean,包含serviceURL属性和serviceInterface属性。
通过JRMP访问服务。JRMP JRMP:java remote method protocol,Java特有的,基于流的协议。
下面给出简单例子
服务端程序:
新建接口:
再实现该接口的方法:
在src下新建applicationContext.xml 配置文件
启动服务端的类【MainServer.java】
客户端代码:
在客户端使用服务端的接口文件:
然后在src下新建【applicationContext.xml】
最新新建客户端的测试类【TestRmi.java】
最后控制台输出
服务端:
客户端: