JDK-11将删除JDK(JEP-320)的许多较旧的部分。 对于其中的某些功能(例如JAXB),它将作为常规库提供。您只需添加另一个依赖项,一切便会再次正常运行。
但是对于CORBA却不是这样,因为
对使用Java中的CORBA开发现代应用程序没有太大兴趣
但是,我处于痛苦的境地,需要维护仍需要CORBA的旧应用程序,同时仍想更新到JDK-11。
是否存在替换库或在不删除这些应用程序的CORBA功能的情况下迁移到JDK-11的另一种好方法?
答案 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.rmi
和javax.rmi.CORBA
) 位于java.corba
模块中并绑定到CORBA 实现,因此Java中将不支持 RMI-IIOPjava.corba
删除后,SE。3。。使用
javax.activity
的应用程序和CORBA实现 软件包将无法编译或运行。该程序包位于java.corba
模块并绑定到其中的CORBA实现,因此 一旦java.corba
被删除,Java SE将不再支持。
再往下走
Java EE的管理权从JCP过渡到Eclipse 基础包括 the GlassFish implementation of CORBA and RMI-IIOP 。
另外,
答案 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。