Java 从Oracle JDK8迁移到Open jdk11,寻找rmi替代品

Java 从Oracle JDK8迁移到Open jdk11,寻找rmi替代品,java,glassfish,rmi,corba,iiop,Java,Glassfish,Rmi,Corba,Iiop,我正在从Oracle JDK8迁移到OpenJDK11。我面临exportObject(新Myobj)调用的问题 由于rmi在jdk11中被删除,所以我使用glassfish jars用于PortableRemoteObject来导出和查找远程对象 我正在使用glassfish中的以下JAR来获取openjdk11中缺少的类 乌姆加皮眼镜鱼 玻璃鱼corba球 javax.transaction.api pfl动态 基本的 glassfish corba内部api pfl-tf.jar 我希

我正在从Oracle JDK8迁移到OpenJDK11。我面临exportObject(新Myobj)调用的问题

由于rmi在jdk11中被删除,所以我使用glassfish jars用于PortableRemoteObject来导出和查找远程对象

我正在使用glassfish中的以下JAR来获取openjdk11中缺少的类

  • 乌姆加皮眼镜鱼
  • 玻璃鱼corba球
  • javax.transaction.api
  • pfl动态
  • 基本的
  • glassfish corba内部api
  • pfl-tf.jar
我希望javax.rmi.PortableRemoteObject.PortableRemoteObject.exportObject()能够像JDK8中那样工作。但我的错误率越来越低。我尝试从glassfish罐子中使用com.sun.corba.ee.impl.javax.rmi.PortableRemoteObjet和com.sun.corba.se.impl.javax.rmi.PortableRemoteObject。但仍然面临同样的错误

java.rmi.NoSuchObjectException:对象未在javax.rmi.PortableRemoteObject.toStub(MyClass.java:18)的com.sun.corba.ee.impl.javax.rmi.PortableRemoteObject.toStub(PortableRemoteObject.java:132)导出

RMIC的蚂蚁任务

<!-- Ant task for RMIC -->  
   <target name="rmic">
    <taskdef name="rmic"
             classname="org.apache.tools.ant.taskdefs.Rmic" />
    <rmic classname="com.MyRmiImpl"
          base="${classes.dir}"
          classpathref="javac.classpath" />
  </target>

}

。你是如何解决的?@donlys解决了什么?没有问题要解决。我提供的链接证明了这一点。我的问题是如何重写使用PortableRemoteObject的现有代码。narrow@Donlys为什么?注意:此问题基于对错误消息的完全误解
NoSuchObjectException
指的是存根过期,而不是从JDK中完全删除API,它依赖的代码从一开始就基本上毫无意义,是RMI/JRMP和RMI/IIOP的混合体。你应该用新的思路问你的问题,不管它是什么。
static Registry registry;

public static void main(String[] args) {

        try {

        registry = LocateRegistry.createRegistry(3322);
        MyRmiImpl remoteImpl = new MyRmiImpl();
        PortableRemoteObject.exportObject(remoteImpl); 
        Remote objStub = PortableRemoteObject.toStub(remoteImpl);// getting exception at this line 
        registry.rebind("MyRmiInterface", objStub);

    } catch (Exception e) {
        e.printStackTrace();
    }
}