0

您可以按如下方式在给定端口创建注册表。

import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
...
Registry reg;
...
reg = LocateRegistry.getRegistry(port);

没关系。但是,在第一次初始化之后,如何在需要时更改Registry( )的端口号?reg

我试图重新创建,,reg = LocateRegistry.getRegistry(port)但这给出了一些例外..

4

2 回答 2

0

您可以在给定端口创建注册表,如下所示

不,你不能。该代码只是在该端口构造一个引用注册表的存根,它甚至可能没有运行。做你所说的方法是LocateRegistry.createRegistry().

如何更改注册表的端口号

取消导出返回的对象并使用不同的端口号createRegistry()调用。createRegistry()

为什么你会想做这么奇怪的事情是另一回事。目的是什么?

我试图重新创建

不,你没有,见上文。所做的只是创建一个指向另一个端口的存根。它不会创建注册表。如果该端口上没有运行注册表,则存根在使用时将失败。

于 2013-01-10T20:20:27.923 回答
0

如果这个端口已经被 rmi 使用,你不能关闭它:

当前 RMI 实现的一个已知限制是它在虚拟机的生命周期内从不关闭服务器(被动/侦听)TCP 端口绑定。> Blockquote

来源:http ://bugs.sun.com/view_bug.do?bug_id=4508962

也许这可以帮助你:

但请发布例外。

于 2013-01-10T19:08:16.887 回答