【问题标题】:Is there a replacement library for CORBA in JDK 11 [closed]JDK 11 中是否有 CORBA 的替代库 [关闭]
【发布时间】:2019-01-13 13:40:05
【问题描述】:

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

但 CORBA 并非如此,因为

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

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

是否有替代库或其他在不删除这些应用程序的 CORBA 功能的情况下迁移到 JDK-11 的好方法?

【问题讨论】:

  • 不知道为什么这会得到 DV,这是一个非常有效的问题。不幸的是,答案是“否”,但在我迄今为止的研究中——它绝对是可能作为外部库的一部分集成的,但我还没有看到有人接受这个。有人可能没有足够的兴趣以开源方式接受它。
  • @MichaelBerry 作为图书馆推荐请求,这可能是题外话。我猜想因为这个原因投下密切投票的人也是反对者(不过我可能是错的)。不过,这个问题似乎是规则中的一个边缘案例;它可能值得在 Meta 上讨论(特别是因为投票表明大多数选民——包括我自己——显然认为这个问题值得考虑)。
  • @EJoshuaS 一个问题说“推荐我一个库来做x”和一个说“我在过去 15 年里一直在做x 在 Java并且需要迁移到 Java 11,鉴于此功能已被删除,最好的方法是什么?” 尤其是,因为免费的 Java 8 更新将在几个月后结束。
  • @MichaelBerry 我同意 - 我没有投票结束,我投票是因为我认为这个问题很有用。

标签: java corba java-module java-11


【解决方案1】:

你绝对可以看看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 支持 SE 一旦java.corba 被删除。

3. 使用javax.activity 的应用程序和CORBA 实现 包将不会编译或运行。这个包位于 java.corba 模块并绑定到其中的 CORBA 实现,所以 删除 java.corba 后,Java SE 将不再支持。

还有更远的地方

  • Java EE 管理权从 JCP 到 Eclipse 的转变

基金会包括the GlassFish implementation of CORBA and RMI-IIOP

另外,

【讨论】:

    【解决方案2】:

    这个依赖可以在JDK11中使用

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

    【讨论】:

    • 这只是 API。要在 JDK 11 上运行,需要实际的实现。为我工作的是:glassfish-corba-orb
    【解决方案3】:

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

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

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

    【讨论】:

    • 我不确定这是否能回答问题。 JacORB 可以在 java 11 中使用吗?开发人员是否需要停止使用 java 8 中的 java 接口并改用 JacORB 实现类?
    • 我也不同意 Oracle 的报价。我有一个支持丛林火灾人员调度的商业产品,每个实例使用 50,000 个远程 CORBA 对象。我觉得这很重要。
    【解决方案4】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-25
      • 1970-01-01
      • 2019-09-26
      • 2015-10-18
      • 2017-04-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-04
      相关资源
      最近更新 更多