如何更改默认RMI端口(1099)。它可以作为JVM参数或通过编码,无关紧要。感谢。
答案 0 :(得分:11)
您可以在命令行中指定它。来自RMI Tutorial:
默认情况下,注册表在端口1099上运行。要在其他端口上启动注册表,请在命令行上指定端口号。不要忘记取消设置CLASSPATH环境变量。
Microsoft Windows:
start rmiregistry 2001
Solaris OS or Linux:
rmiregistry 2001 &
在您的代码中,您使用LocateRegistry.getRegistry(String host, int port)覆盖按主机名和端口查找注册表,如本教程的Creating a Client Program部分所述。 (实现服务器时也是如此。)
答案 1 :(得分:3)
您可以在导出远程对象时指定自己的端口,可以通过super(port,...)或exportObject(remote,port,...),具体取决于您是否扩展UnicastRemoteObject。如果扩展Activatable,则会有类似的带有端口号的super()重载。如果使用,可以在命令行上指定注册表的端口,否则通过LocateRegistry.createRegistry()使用它。