如何在使用进程内Java RMI注册表时很好地关闭
案件
我在服务器进程中使用进程内* Java RMI注册表. 我在注册表中绑定1个对象. 我的客户端进程连接并查找绑定,并传递远程对象. 现在我希望服务器进程干净地关闭,即不再存在deamon-threads.使用RMI,我在服务器进程中的一个对象上调用“close”,问题是这个“关闭”方法实际上必须做什么. 题 如何确保在使用RMI导出对象的进程中没有运行非守护程序线程? 据我所知,我必须取消导出** JVM关闭的所有导出对象?由于许多对象已经通过RMI传递,我将不得不维护这些对象的集合和每个对象的展开**. 我已经读过任何导出的对象都应该在垃圾收集器时自动取消它(现在找不到引用)但是我的经验告诉我,某些对象(特别是distrubuted?)可能需要很长时间才能被垃圾收集,所以这是不是一个选择. *使用LocateRegistry创建 解决方法
取消所有内容,包括注册表.请注意,这需要保存createRegistry()的返回值.
正确,除非您使用未参考设施.
您可以控制所有DGC超时.它确实是一个选项,通过Unreferenced接口. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- java – 在调用set text之后,JLabel在旧文本上绘
- java – Android:如何在十进制值之后得到两位数
- 【SpringBoot】09.SpringBoot整合Freemarker
- java – “eclipse可执行启动程序无法找到其随播
- 有独立Java应用程序的“最佳”还是最受欢迎的数据
- Java中抽象类和接口的区别_动力节点Java学院整理
- spring-boot集成spring-security的oauth2实现git
- java – XHTML到PDF使用fly-saucer如何缓存css
- java – 如何增加最大数量的JVM线程(Linux 64bit
- java – 命名EJB的本地/远程接口时的标准约定或