java - RMI 如何测试一个对象是否被导出

标签 java rmi

如何测试对象是否已经导出?我将对象从一个主机迁移到另一个主机。在我将一个对象(及其状态)复制到另一个节点之前,我必须使用 UnicastRemoteObject.unexportObject(this, true) 取消导出该对象,但此方法会抛出一个 java.rmi.NoSuchObjectException : object not exported 如果对象尚未导出。

我正在寻找的是一种测试对象是否已导出的方法(无需捕获异常且无需取消导出对象)。关于结果,测试应具有与以下方法相同的行为:

boolean isExported(Object x) {
    boolean result = false;
    try {
        UnicastRemoteObject.unexportObject(this, true);
        result = true;
        UnicastRemoteObject.exportObject(this, 0);
    } catch (Exception e) {
    }
    return result;
}

感谢您的帮助。

最佳答案

只需尝试导出它并捕获异常。

关于java - RMI 如何测试一个对象是否被导出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5708588/

相关文章:

java - 使用 hadoop 运行 jar 时 NoSuchMethodError Sets.newConcurrentHashSet()

c# - 使用 C# TcpChannel 服务器的 Java RMI 客户端

java - 无法使用 RMI 远程方法

Java:RMI 问题

java - rmi 调用 weblogic 的高响应时间

java - 在不依赖操作系统时间的情况下获取 UTC 时间

java - 在 XMLGregorianCalendar 中减去一天

java - Jersey 2.0 相当于 POJOMappingFeature

没有 SecurityManager 的 Java RMI

java - 跨多个网络应用程序的一个 Hibernate FullTextEntityManager