- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在开发两个通过 RMI 连接的应用程序。通信是双向的,一切正常,直到我在 Windows 上运行。当我将 jar 文件传输到 Debian 时,连接失败并显示 java.rmi.NoSuchObjectException
。
知道 linux 有什么不同或者它为什么不起作用吗?
编辑:我的代码:
服务器端:
static Registrator clientRegistrator = null; // static field, interface extending java.rmi.Remote
...
Registry rmiRegistry = LocateRegistry.createRegistry(RmiConstants.RMI_REGISTRY_PORT);
clientRegistrator = (Registrator) UnicastRemoteObject.exportObject(new RmiClientRegistrator(networkListeners), RmiConstants.RMI_REGISTRY_PORT); // RmiClientRegistrator implements Registrator interface
rmiRegistry.bind(RmiConstants.RMI_SERVER_MARK, clientRegistrator);
客户端:
static Registrator serverRegistrator = null;
String rmiConnectionString = "rmi://localhost:" + RmiConstants.RMI_REGISTRY_PORT + "/" + RmiConstants.RMI_SERVER_MARK;
serverRegistrator = (Registrator) Naming.lookup(rmiConnectionString);
serverRegistrator.registerClient(dataReceiver); // fails here, with mentioned exception
最佳答案
您的 stub 引用的远程对象不再存在。更准确地说,它不再被导出。当客户端仍然有它的实时 stub 时,这不应该发生,除非您自己取消导出它,或者除非网络分区导致 DGC 故障。
对此最可靠的补救措施是在从中导出的 JVM 中保留对远程对象的静态引用。
关于Linux 上的 java.rmi.NoSuchObjectException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14501873/
当我启动 spark 时,我收到以下警告: Using Scala version 2.10.5 (OpenJDK 64-Bit Server VM, Java 1.8.0_77) Type in e
我尝试设置一个简单的 RMI 实现,但遇到了一些麻烦。 服务器启动正常,但客户端似乎永远找不到远程对象(Naming.lookup 每次都失败)。通过阅读周围的内容,人们提到将远程对象(Bank)存储
我有一个使用 Java RMI 的服务器和客户端。如果我使用一个客户端,下面的代码一切都很好。但是,如果我连接一个客户端,然后连接第二个客户端,它会抛出端口已在使用异常。没关系,所以我断开连接的客户端
我正在使用java RMI实现客户端/服务器应用程序,客户端和服务器位于同一项目中的不同包中(当然它们在同一台机器上运行),并且接口(interface)在“通用”包中定义。当我尝试获取两个远程对象之
已经有几个与此相关的问题,但他们的答案表明导出的对象已在服务器端进行 GC,这解决了问题。然而,这似乎不是这里的问题。 提到的异常仅在单台机器上抛出: PRETTY_NAME="Debian GNU/
我在 Weblogic 11g 上运行 Java 6。 我正在开发一个使用 EJB 与数据库通信的 Web 服务项目。目前我正在处理错误,因此我尝试在调用 Web 服务之前取消部署 EJB。我的 EJ
我正在开发两个通过 RMI 连接的应用程序。通信是双向的,一切正常,直到我在 Windows 上运行。当我将 jar 文件传输到 Debian 时,连接失败并显示 java.rmi.NoSuchObj
我正在编写一个非常简单的 RMI 服务器,我在单元测试中看到间歇性的 java.rmi.NoSuchObjectExceptions。 我在同一个对象上有一串远程方法调用,虽然前几个通过,但后面的有时
我有一个简单的程序,可以使 calcPi() 通过 Java-RMI 可用,当我启动程序时,我收到此异常: java.rmi.NoSuchObjectException: no such object
这是我的应用程序在更改之前的代码: Static Map servStubs = Collections.synchronizedMap(new HashMap); public synchroni
我是一名优秀的程序员,十分优秀!