JDK 11中是否有CORBA的替代库

时间:2018-08-06 14:45:03

标签: java corba java-module java-11

JDK-11将删除JDK(JEP-320)的许多较旧的部分。 对于其中的某些功能(例如JAXB),它将作为常规库提供。您只需添加另一个依赖项,一切便会再次正常运行。

但是对于CORBA却不是这样,因为

  

对使用Java中的CORBA开发现代应用程序没有太大兴趣

但是,我处于痛苦的境地,需要维护仍需要CORBA的旧应用程序,同时仍想更新到JDK-11。

是否存在替换库或在不删除这些应用程序的CORBA功能的情况下迁移到JDK-11的另一种好方法?

4 个答案:

答案 0 :(得分:16)

您绝对可以看一下javaee/glassfish-corba。记录在案的home page读为-

  

GlassFish ORB符合CORBA 2.3.1规范,并且   与可互操作名称服务的CORBA 3.0规范兼容   和便携式拦截器。它包括IDL和RMI-IIOP支持。   GlassFish ORB具有开放的,可扩展的架构,该架构支持   通过开放的SPI进行灵活的配置和扩展。

JEP本身也会使开发人员感兴趣-

  

删除java.corba模块的风险是:

     

1。。如果它们仅包含一个CORBA实现,则它们不会编译或运行。   “认可” CORBA API 的子集,并希望JDK提供   其余的。

     

2。。使用 RMI-IIOP 的应用程序和CORBA实现不会   编译或运行。 RMI-IIOP软件包(javax.rmijavax.rmi.CORBA)   位于java.corba模块中并绑定到CORBA   实现,因此Java中将不支持 RMI-IIOP   java.corba删除后,SE。

     

3。。使用javax.activity的应用程序和CORBA实现   软件包将无法编译或运行。该程序包位于   java.corba模块并绑定到其中的CORBA实现,因此   一旦java.corba被删除,Java SE将不再支持。

再往下走

另外,

答案 1 :(得分:1)

我还没有迁移到Java 11,但是无论如何我总是遇到Java CORBA实现的问题,因为它不完整并且不支持标准中定义的所有Object方法,不支持ssliop等。我总是通过将JacORB OMG jar放置在认可目录中并将系统属性设置为pont到JacORB orb来替换它:

-Dorg.omg.CORBA.ORBClass = org.jacorb.orb.ORB    -Dorg.omg.CORBA.ORBSingletonClass = org.jacorb.orb.ORBSingleton

顺便说一句。我不同意“毕竟,J2EE到底是什么?”“用Java用CORBA开发现代应用程序并没有太大的兴趣”?

答案 2 :(得分:1)

此依赖关系可以在JDK11中使用

        <dependency>
            <groupId>org.glassfish.corba</groupId>
            <artifactId>glassfish-corba-omgapi</artifactId>
            <version>4.2.1</version>
        </dependency>

答案 3 :(得分:0)

Micro Focus提供的所有ORB完全支持JDK 11。