我项目的主要方法如下:
public static void main(String[] args) {
try {
LocateRegistry.createRegistry(1099);
Naming.bind("rmi://localhost/chat_server", new ChatServerImpl());
System.out.println("ChatServer ready");
} catch (Exception ex) {
ex.printStackTrace();
System.exit(0);
}
}
当调用 Naming.bind 时,方法会阻塞并且没有任何反应。抛出异常并且程序执行停止。
完全相同的代码在不同的机器上工作正常,我不知道为什么 Naming.bind 甚至没有抛出异常。
非常感谢你花时间阅读这个问题。
更新:
我刚刚测试了如果我让程序运行一段时间会发生什么,并且 - 意外 - 它在超过两分钟的时间后执行得很好。
我使用的PC并不慢,它在运行程序时有一个i7内部和大量的免费资源。但是,在工作中,所有PC都安装在中央文件系统中。这可能是Naming.bind()
的表现受到严重影响的原因吗?如果没有,那可能是什么?