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.编码实战
视频

PPT

6.扩展思考

7.参考文献
http://blog.csdn.net/zmx72961...

http://baike.sogou.com/v13550...

8.更多讨论


用户bPbdDlb
422 声望36 粉丝