在JDK 11中是否有CORBA的替换库

问题描述 投票:27回答:3

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

但对于CORBA则不然,因为

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

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

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

java corba java-module java-11
3个回答
17
投票

你绝对可以看看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.corba,Java SE中将不会支持RMI-IIOP。

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

在那里

另外,


1
投票

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

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

BTW。我不同意“”用Java编写CORBA的现代应用程序没有什么重要的意义“毕竟J2EE是什么?


1
投票

这种依赖可以在JDK11中使用

        <dependency>
            <groupId>org.glassfish.corba</groupId>
            <artifactId>glassfish-corba-omgapi</artifactId>
            <version>4.2.1</version>
        </dependency>
© www.soinside.com 2019 - 2024. All rights reserved.