一、RMI编程模型
RMI是Java的远程方法调用技术,之际Java分布式对象之间的方法调用。
编程模型:
远程对象的能力是由在客户端和服务器之间共享的接口所表示的。远程对象的接口必须扩展Remote接口。
然后,服务器端必须提供这样的类,真正实现了在远程接口中声明的工作。
RMI注册表:
要访问服务器上的一个远程对象,客户端首先需要一个本地的指代远程对象的存根。而一开始时,客户端是没有存根的,想要获得存根就需要想服务端发起远程请求,这就矛盾了,因为请求需要有远程对象的存根。
为此,JDK提供了自举注册服务,一开始时,服务器程序应该使用自举注册服务注册至少一个远程对象。需要将远程对象的RMI url 和对实现对象的引用注册上去。其实就是,告诉 ip port 方法名。
这样客户端就可以从注册表中获取到对应的远程对象的存根,然后发起一系列的请求。
远程对象激活:
在一开始就实例化大量的远程对象其实是一种浪费,可以借助激活机制,当需要使用某个远程对象的时候再构造。