JavaRMI在JDK Openj9 JVM中不是传统的工作方式吗?

JavaRMI在JDK Openj9 JVM中不是传统的工作方式吗?,java,adoptopenjdk,openj9,Java,Adoptopenjdk,Openj9,我试图用OpenJDK的OpenJ9 JVM启动一个简单的RMI服务器,但是,程序退出时没有错误/异常,RMI服务器没有启动。 完全相同的程序适用于OpenJDK的HotSpot JVM和其他oracle变体 示例代码: Registry registry = LocateRegistry.createRegistry(9002); RMIServer myServerInstance = new RMIServer(); <<MyClassStub>>

我试图用OpenJDK的OpenJ9 JVM启动一个简单的RMI服务器,但是,程序退出时没有错误/异常,RMI服务器没有启动。 完全相同的程序适用于OpenJDK的HotSpot JVM和其他oracle变体

示例代码:

   Registry registry = LocateRegistry.createRegistry(9002);
   RMIServer myServerInstance = new RMIServer();
   <<MyClassStub>>stub = <<MyClassStub>> UnicastRemoteObject.exportObject(myServerInstance, 9002);
            registry.rebind("RMIServer", stub);
Registry Registry=LocateRegistry.createRegistry(9002);
RMIServer myServerInstance=新的RMIServer();
存根=UnicastRemoteObject.exportObject(myServerInstance,9002);
registry.rebind(“RMIServer”,存根);

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

预计此问题将在1月的0.24版(Java8、11、15)和0.25版(Java16)中修复

注意:有关最新更新,请关注
OpenJ9开源社区贡献者确认这是OpenJ9的真正问题。 OpenJ9似乎在创建新服务器后立即丢弃它。 调用
UnicastRemoteObject.exportObject
时,将创建一个WeakReference并将其注册到reaper中的ReferenceQueue。当导出的对象将被销毁时,收割者会检查是否没有更多的导出对象可以跟踪,然后收割者线程将杀死自己,如果没有其他线程使其保持活动状态,则VM将杀死它

预计此问题将在1月的0.24版(Java8、11、15)和0.25版(Java16)中修复

注意:有关最新更新,请关注