使用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/