1.背景介绍
RMI(Remote Method Invocation,远程方法调用)是用Java在JDK1.1中实现的,它大大增强了Java开发分布式应用的能力。 RMI使用Java语言接口定义了远程对象,它集合了Java序列化和Java远程方法协议(Java Remote Method Protocol)。 简单地说,这样使原先的程序在同一操作系统的方法调用,变成了不同操作系统之间程序的方法调用,由于J2EE是分布式程序平台,它以RMI机制实现程序组件在不同操作系统之间的通信。
RMI应用程序通常包括两个独立的程序:服务器程序和客户机程序。
典型的服务器应用程序将创建多个远程对象,使这些远程对象能够被引用,然后等待客户机调用这些远程对象的方法。 而典型的客户机程序则从服务器中得到一个或多个远程对象的引用,然后调用远程对象的方法。
RMI的技术原理如下
1)、生成一个远程接口
2)、实现远程对象(服务器端程序)
3)、生成占位程序和骨干网(服务器端程序)
4)、编写服务器程序
5)、编写客户程序
6)、注册远程对象
7)、启动远程对象
2.知识剖析
再看SpringRMI
我们知道Spring喜欢做封装,所以SpringRMI其实也是对RMI进行了封装,然后使我们使用的时候更加简便,可操作性更强
Spring RMI中,主要有两个类:
org.springframework.remoting.rmi.RmiServiceExporter和org.springframework.remoting.rmi.RmiProxyFactoryBean
服务端使用RmiServiceExporter暴露RMI远程方法,客户端用RmiProxyFactoryBean间接调用远程方法。
3.常见问题
我们知道RMI和SpringRMI是什么了,也知道它们的目的和应用场景了,接下来就是喜闻乐见的如何使用了
4.解决方案
首先JavaRMI是使用具体的方法实现类来操作的,并且之前也介绍了,分为服务端和客户端
然后SpringRMI是封装我们也说过了,操作简单,通过配置文件来进行相关操作,又是解耦~
同样要分开服务端和客户端
接下来就实战演练,加深理解
5.编码实战
视频
6.扩展思考
7.参考文献
http://blog.csdn.net/zmx72961...
http://baike.sogou.com/v13550...
8.更多讨论
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。