1.背景介绍
RMI(Remote Method Invocation,远程方法调用)是用Java在JDK1.1中实现的,它大大加强了Java开发分布式应用的能力。 RMI使用Java语言接口定义了远程对象,它集合了Java序列化和Java远程方法协议(Java Remote Method Protocol)。 简单地说,这样使原先的程序在同一操做系统的方法调用,变成了不一样操做系统之间程序的方法调用,因为J2EE是分布式程序平台,它以RMI机制实现程序组件在不一样操做系统之间的通讯。html
RMI应用程序一般包括两个独立的程序:服务器程序和客户机程序。java
典型的服务器应用程序将建立多个远程对象,使这些远程对象可以被引用,而后等待客户机调用这些远程对象的方法。 而典型的客户机程序则从服务器中获得一个或多个远程对象的引用,而后调用远程对象的方法。git
RMI的技术原理以下github
1)、生成一个远程接口spring
2)、实现远程对象(服务器端程序)服务器
3)、生成占位程序和骨干网(服务器端程序)分布式
4)、编写服务器程序编码
5)、编写客户程序操作系统
6)、注册远程对象.net
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.更多讨论