什么是RMI注册表

时间:2011-04-14 05:26:39

标签: java networking rmi

什么是RMI注册表?它做了什么?

4 个答案:

答案 0 :(得分:27)

基本上,RMI注册表是服务器注册它提供的服务的地方,也是客户端查询这些服务的地方。见Introduction to Java RMI。摘录:

  

图1显示了客户端在使用RMI时所做的连接。首先,客户端必须联系RMI注册表,并请求服务名称。开发人员B不知道RMI服务的确切位置,但他知道足够联系开发人员A的注册表。这将指向他想要打电话的服务方向..

答案 1 :(得分:8)

RMI Registry在RMI服务器和客户端之间充当代理。服务器在注册表中“注册”其服务 - 因此RMI注册表可以充当许多服务器/服务的“目录”。客户端不需要知道各个服务器的位置,并在RMI注册表上查找所需的服务。作为命名目录的注册表返回客户端的相应句柄以调用方法。

谷歌周围有很多有关RMI的信息。

答案 2 :(得分:2)

Java的远程方法调用(RMI)注册表本质上是一个目录服务。

远程对象注册表是一种引导命名服务,由同一主机上的RMI服务器用于将远程对象绑定到名称。然后,本地和远程主机上的客户端可以查找远程对象并进行远程方法调用。(Documentation

您可以使用RMI或JNDI通过rmi注册表远程绑定和查找对象。

这是众所周知的代理设计模式的用例。 RMI服务器在RMI注册表上注册对象(实质上是存根)。远程客户端查找这些存根并在其上调用方法。在场景后面是要调用的方法,它的参数被序列化并发送到具有实现的实际RMI服务器。 RMI服务器(框架代码)反序列化请求调用实际方法,收集结果,反序列化并将其发送回客户端(存根)。 Stub反序列化结果并将其返回给调用此方法的代码。

答案 3 :(得分:1)

首先,服务器将名称与RMI注册表中的远程对象相关联。当客户端想要访问远程对象时,它会在注册表中按名称查找对象。 然后客户端可以调用服务器上远程对象的方法。

http://www8.cs.umu.se/education/examina/Rapporter/471App.pdf