Java RMI NoSuchObjectException

标签 java rmi clients

我有一个使用 Java RMI 的服务器和客户端。如果我使用一个客户端,下面的代码一切都很好。但是,如果我连接一个客户端,然后连接第二个客户端,它会抛出端口已在使用异常。没关系,所以我断开连接的客户端,然后尝试再次与第二个客户端连接。它给了我这个:

java.rmi.NoSuchObjectException:表中没有这样的对象

这是为什么?

//CONNECT

Registry registry = LocateRegistry.getRegistry(
    Options.getRegistryIp(), Options.getRegistryPort());
server = (IServer) registry.lookup(Constants.MB_SERVER_NAME);

UnicastRemoteObject.exportObject(client, Options.getMyPort());
server.registerClient(client);

//DISCONNECT

server.removeClient(client, client.getUser());
UnicastRemoteObject.unexportObject(client, false);

最佳答案

NoSuchObjectException 意味着 stub 引用了一个尚未显式或通过 GC 未导出的远程对象。您是否在lookup()、registerClient()或removeClient()上得到了这个?

关于Java RMI NoSuchObjectException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4986272/

相关文章:

java - 从 ServletRequest 获取 Cookie

java - 在android中的不同表格行中添加同一单选组的单选按钮。

java - 在不覆盖哈希方法的情况下删除重复项

java - RMI 与 REST 服务

C语言-套接字-两个客户端之间的聊天(使用一个服务器作为中间人)

html - 最小化 html 表格的样式

java - EJB 中的多线程

Java RMI 连接池详细信息

java - 无法将消息发送到远程对等本地类不兼容 : stream classdesc serialVersionUID

C、Socket编程 : 1 Server 2 Clients connected by HUB, 使用TCP的聊天应用