【发布时间】:2016-07-24 06:32:19
【问题描述】:
我的 RMI Reaper 线程有问题,它不允许我的所有程序终止,因为该线程不是守护程序。我发现该线程仅在未导出所有对象时才停止的信息。所以我有以下代码来创建rmi serer。
registry = LocateRegistry.createRegistry(2525);
Server stub = (Server) UnicastRemoteObject.exportObject(defaultServer, 2525);
registry.rebind("//localhost/server", stub);
我有两个版本的“未导出”。
版本 1:
UnicastRemoteObject.unexportObject(defaultServer, true);
版本 2:
UnicastRemoteObject.unexportObject(registry, true);
当我使用版本 2 时 - RMI Reaper 线程不会终止并且所有程序都不会终止。当我使用版本 1 时一切正常。但是,在很多地方我发现了以下代码:
UnicastRemoteObject.unexportObject(rmiRegistry, true); // Stop the RMI registry
谁能解释一下 Registry 为何以及如何与 UnicastRemoteObject 链接。
【问题讨论】: