7

如何更改默认 RMI 端口 (1099)。它可以作为 JVM 参数或通过编码,没关系。谢谢。

4

2 回答 2

11

您可以在命令行中指定它。来自RMI 教程

默认情况下,注册表在端口 1099 上运行。要在不同的端口上启动注册表,请在命令行中指定端口号。不要忘记取消设置 CLASSPATH 环境变量。

Microsoft Windows:

start rmiregistry 2001

Solaris OS or Linux:

rmiregistry 2001 &

在您的代码中,您使用LocateRegistry.getRegistry(String host, int port)覆盖按主机名和端口定位注册表,如本教程的创建客户端程序部分所述。(这同样适用于实现您的服务器。)

于 2009-06-02T12:08:49.477 回答
3

您可以通过 super(port, ...) 或 exportObject(remote, port, ...) 在导出远程对象时指定自己的端口,具体取决于您是否扩展 UnicastRemoteObject。如果您扩展 Activatable ,则会有类似的带有端口号的 super() 重载。如果您使用它,您可以在命令行上指定注册表的端口,否则通过 LocateRegistry.createRegistry() 如果您使用它。

于 2011-07-10T04:54:44.747 回答