RMI定位服务器对象的问题:
RMI定位服务器对象的问题:
【引自】《Java2核心技术 卷II》P202
访问服务器(ServerA)上的远程对象,客户机需要一个本地代码存根对象。客户机怎样请求到这样一个代码存根对象?最普通的方法就是调用另一个服务器(ServerB)对象的远程方法,得到一个作为返回值的代码存根对象。Sun RMI程序库提供“引导程序注册服务”(bootstrap registry service)定位第一个服务器对象。
服务器程序以“引导程序注册服务”注册对象。客户机检索这些对象的代码存根[1],将对象引用和名称传递给“引用程序注册服务”[2],你可以注册一个服务器对象[3],它的名称是一个字符串,具有唯一性。
疑问 1. ServerA 不等于 ServerB吗,为什么客户机不能访问ServerA上的远程对象呢?
2. [1]处,客户机如何检索这些对象的代码存根?[2]处,为什么还要把对象引用和名称传递给“引用程序注册服务”,“引用程序注册服务”已经定位第一个服务器对象,怎么还需要再次传递参数呢?[3]处,注册的服务器对象在分布式系统中是什么角色,是stub or skel,还是 Server?如果是Server,不明白它的作用。