什么是RMIregistry
什么是RMIregistry? 它有什么作用?
从本质上来说,RMIregistry是服务器注册它提供的服务的地方,也是客户查询这些服务的地方。 请参阅Java RMI简介 。 摘抄:
图1显示了使用RMI时客户端的连接。 首先,客户端必须联系RMI注册中心,并请求服务的名称。 开发者B不知道RMI服务的确切位置,但他知道足够的联系开发者A的registry。 这将指向他想要调用的服务的方向。
RMI注册中心是RMI服务器和客户端之间的代理。 服务器将其服务注册到registry中 – 因此RMIregistry可以充当许多服务器/服务的“目录”。 客户端不需要知道单个服务器的位置,并在RMIregistry中查找所需的服务。 作为命名目录的registry返回适当的句柄给客户端以调用其上的方法。
谷歌周围,有很多关于RMI可用的信息。
Java的远程方法调用(RMI)registry本质上是一个目录服务。
远程对象registry是引导程序命名服务,由同一主机上的RMI服务器用来将远程对象绑定到名称。 本地和远程主机上的客户端可以查找远程对象并进行远程方法调用( 文档 )
您可以使用RMI或JNDI通过rmiregistry来远程绑定和查找对象。
这是一个众所周知的代理devise模式的用例。 RMI服务器在RMIregistry上注册对象(基本上是存根)。 远程客户端查找这些存根并调用其上的方法。 在被调用的方法的背后,它的参数被序列化并发送到实际的RMI服务器。 RMI服务器(骨架代码)反序列化请求调用实际方法,收集结果,反序列化并将其发送回客户端(存根)。 存根反序列化结果并将其返回给调用此方法的代码。
首先,服务器将名称与RMIregistry中的远程对象相关联。 当一个客户想要访问一个远程对象的时候,它会在registry中查找这个对象的名字。 然后,客户端可以在服务器上的远程对象上调用方法。