java - 关闭 RMI 注册表

标签 java rmi

使用RMI将String对象从WebAppA传递到WebAppB。WebAppB是RMIServer,而WebAppA是RMIClient。我在WebAppB中添加了ContextListener,以便在tomcat中初始化上下文时立即启动rmi服务。并且在contextDestroyed中tomcat的方法我尝试使用以下语句关闭/关闭rmi:

unexportObject(remoteObj,true);
LocateRegistry.getRegistry(3232).unbind("MessagePath"); //MessagePath - name of the remote reference

但是即使在执行了上述语句之后,rmi 仍在端口 3232 上监听传入请求。我通过在命令提示符中使用“netsat -ano”看到了这一点。请帮助我关闭 RMI 服务。

最佳答案

getRegistry 仅返回一个 stub ,因此请在 unexportObject 中使用 createRegistry 返回的实例。然而,就我而言,这也没有帮助 - 注册表不再处于 Activity 状态,但套接字仍然打开并正在监听:-(

关于java - 关闭 RMI 注册表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1087163/

相关文章:

java - 具有新功能的向后兼容框架

java - 详细 rmiregistry - 如何跟踪 rmiregistry 状态?

Java RMI 不适用于多个服务器 - 安全

java - 无法使用 JERSEY 下载文件

java - 将字符串添加到 ArrayList

java - 当文本是字段时,如何为文本 "text"添加下划线?

java - 使用带有 Swing 组件的 RMI 代理时性能不佳

java - 将元数据添加到 Java RMI

java rmi -Djava.rmi.server.hostname=localhost 仍然打开一个监听 0.0.0.0 的套接字

java - Hibernate Session的存储过程中的数据