Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java RMI注册表端口更改问题_Java_Rmi - Fatal编程技术网

Java RMI注册表端口更改问题

Java RMI注册表端口更改问题,java,rmi,Java,Rmi,您可以在给定端口创建注册表,如下所示 import java.rmi.registry.LocateRegistry; import java.rmi.registry.Registry; ... Registry reg; ... reg = LocateRegistry.getRegistry(port); 那很好。但是,在第一次初始化后,如果需要,如何更改注册表(reg)的端口号 我已尝试重新创建,reg=LocateRegistry.getRegistry(端口),但这会导致一些例外情

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

import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
...
Registry reg;
...
reg = LocateRegistry.getRegistry(port);
那很好。但是,在第一次初始化后,如果需要,如何更改
注册表
reg
)的端口号


我已尝试重新创建,
reg=LocateRegistry.getRegistry(端口)
,但这会导致一些例外情况。

如果此端口已被rmi使用,则无法关闭:

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

资料来源:

也许这可以帮助你:

但请发布例外情况

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

不,你不能。该代码只是构造一个引用该端口上的注册表的存根,该端口甚至可能没有运行。实现上述目的的方法是使用
LocateRegistry.createRegistry()。

如何更改注册表的端口号

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

你为什么要做这么奇怪的事是另一回事。目的是什么

我试着重新创造


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

请显示例外情况哦,请。再次阅读你的消息来源。2001年,这是一个已知的限制。这个错误是近十年前修复的。