当前位置: 首页 > 知识库问答 >
问题:

将多个远程对象绑定到同一 RMI 注册表

丁曦哲
2023-03-14

我有一个客户端程序,它调用服务器上的远程方法。现在,我想根据客户端发送的IP地址创建3个不同的服务器。

问:我应该创建3个不同的远程对象并将它们绑定到同一个注册表吗?或者我应该创建3个不同的远程对象并将它们绑定到各自的注册表??

我现在做的是一个远程对象,并将所有3个对象绑定到同一个注册表。


r.bind("NA", obj);
r.bind("欧盟", obj);
r.bind("AS", obj);

共有2个答案

皇甫聪
2023-03-14

没有理由在同一主机中使用多个注册表,尤其是如果它们都由同一个JVM启动。使用一个。一个注册表中的单个哈希表中的多个条目比多个注册表便宜得多。

王伯寅
2023-03-14

我已经很久没有使用RMI了;尽管如此,我的建议是将所有对象绑定在同一个注册表中,我想您已经在这样做了。

 类似资料:
  • 我已经编写了一个简单的 RMI 应用程序,但我无法将远程对象绑定到 RMI 注册表。RMI 注册表从单独的 cmd 窗口 [我在 Windows 10] 运行。远程界面非常简单: 实现也很简单: 下面是服务器,其中包含 main 方法: 当我[从Eclipse内部]运行它时,我得到 我真的不知道这是从哪里来的。我甚至还没有调用客户端...

  • 我的要求是 我有两台机器,客户端和服务器。在服务器上,只有一个端口是打开的(不应该是JNDI端口)。客户端需要对部署在服务器中的EJB远程对象的引用,以便它可以调用这些EJB对象上的方法。 在这里,我计划在Server上的开放端口上进行客户端和服务器之间的RMI通信。获得调用后,服务器将把EJB3对象返回给客户端。 这是我的问题 RMI是否允许将远程EJB3引用返回给客户端? 如果是,一旦EJB引

  • 我有一个预览页面,需要添加或编辑模型,并显示预览。 我需要从添加表单页和编辑表单页调用预览。我要通过的模型是相同的,但来自不同的形式。 (1) ModelAttribute是否有支持这种多属性名称映射的方法?(2) 我怎么能考虑重新设计这个?考虑(a)在表单提交之前重命名表单名称/属性以使用相同的属性名称。(b) 完全删除ModelAttribute——这不是我的选项,因为我使用的是SpringM

  • 假设我的系统中有3个节点:node1、node2、node3,我在所有3个节点上都有远程对象。我的问题是: 我可以在node1上运行一个注册表实例并让它管理3个节点上的所有对象,还是每个节点都需要自己的注册表实例?也就是说,一个注册表只能在自己的机器上管理对象,还是也可以在其他机器上管理对象?

  • 我有一个问题,我试图让“玩家”图标在我的JFrame周围移动使用键盘控制。我有一个物体,我想用w、a、s和d键移动。我使用键绑定是因为在我的研究中,它们似乎更适合此任务。 我已经成功地将所有需要的键连接到我的图标上,它们都会调用该操作,唯一的问题是我无法区分按下了哪个按钮。我希望通过在我的动作事件上使用可以以某种方式实现这一点。到目前为止,它还没有奏效。 我看到的其他示例似乎有解决方案,但它们也有

  • 我有一个要求,RMI客户端需要在远程RMI注册表中注册所有远程对象。 第一个问题,我知道有一个registry.list()方法可以返回对象的所有名称。但是,假设还有其他类型的对象也注册了,我如何获得我想要的类型的对象(实现我想要的接口)。我是否应该遍历名称并使用try/catch语句,尝试实例化每个远程对象? 第二个问题是,如果注册了新对象,客户机如何被注意到?在我的要求中,服务器将动态地将新对