首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java RMI不能以传统的方式与AdoptJDK Openj9 JVM一起工作吗?

问Java RMI不能以传统的方式与AdoptJDK Openj9 JVM一起工作吗?
EN

Stack Overflow用户
提问于 2020-08-28 21:24:09
回答 1查看 80关注 0票数 1

我试图用AdoptOpenJDK的OpenJ9启动一个简单的远程管理界面服务器,但是程序退出时没有出现错误/异常,并且远程管理界面服务器没有启动。完全相同的程序适用于AdoptOpenJDK的HotSpot、JVM和其他oracle变体。

示例代码:

代码语言:javascript
复制
   Registry registry = LocateRegistry.createRegistry(9002);
   RMIServer myServerInstance = new RMIServer();
   <<MyClassStub>>stub = <<MyClassStub>> UnicastRemoteObject.exportObject(myServerInstance, 9002);
            registry.rebind("RMIServer", stub);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-17 15:08:32

OpenJ9开源社区的贡献者证实这是OpenJ9的真正问题。OpenJ9似乎会在创建新服务器后立即将其丢弃。当调用UnicastRemoteObject.exportObject时,将创建一个WeakReference并将其注册到收割器中的ReferenceQueue。当要销毁导出的对象时,收割器检查是否没有更多的导出对象需要跟踪,然后收割器线程将终止其自身,如果没有其他线程保持其活动,则终止VM。

预计此问题将在Java0.24(Java8、11、15) Jan refresh,Release 0.25 (Java16)中得到修复

注:有关最新更新,请关注https://github.com/eclipse/openj9/issues/10503

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63634650

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档