rli
JDK-11 eliminará muchas partes antiguas del JDK (JEP-320). Para algunos de ellos (p. ej., JAXB), la funcionalidad se proporcionará como biblioteca normal. Simplemente agrega otra dependencia y todo vuelve a funcionar bien.
Pero no así para CORBA, porque
No existe un interés significativo en desarrollar aplicaciones modernas con CORBA en Java
Sin embargo, me encuentro en la penosa situación de tener que mantener aplicaciones más antiguas que aún requieren CORBA mientras sigo queriendo actualizar a JDK-11.
¿Existe una biblioteca de reemplazo u otra buena forma de migrar a JDK-11 sin eliminar la funcionalidad CORBA de estas aplicaciones?
Namán
Definitivamente puedes echar un vistazo a javaee/glassfish-corba. El documentado página de inicio lee –
GlassFish ORB cumple con la especificación CORBA 2.3.1 y con las especificaciones CORBA 3.0 para Interoperable Name Service e Interceptores portátiles. Incluye compatibilidad con IDL y RMI-IIOP. GlassFish ORB tiene una arquitectura abierta y extensible que admite una configuración y extensión flexibles a través de un SPI abierto.
Además lo que también interesará a los desarrolladores, desde la propia JEP –
Los riesgos de eliminar la
java.corba
módulo son:1. Las implementaciones de CORBA no se compilarán ni ejecutarán si incluyen solo un subconjunto de los API de CORBA “respaldadas” y espere que el JDK proporcione el resto.
2. Aplicaciones e implementaciones de CORBA que utilizan RMI-IIOP no se compila ni se ejecuta. Los paquetes RMI-IIOP (
javax.rmi
yjavax.rmi.CORBA
) se encuentran en eljava.corba
módulo y vinculado a la implementación de CORBA en el mismo, por lo que no habrá RMI-IIOP soporte en Java SE una vezjava.corba
es removido.3. Aplicaciones e implementaciones de CORBA que utilizan el
javax.activity
el paquete no compilará ni se ejecutará. Este paquete se encuentra en el
java.corba
módulo y vinculado a la implementación de CORBA en el mismo, por lo que no habrá soporte en Java SE una vezjava.corba
es removido.
y mas alla abajo
-
La transición de la administración de Java EE del JCP al Eclipse
Fundación incluye la implementación GlassFish de CORBA y RMI-IIOP.
además,
- El “Paquete de interoperabilidad CORBA” si es necesario, se implementa junto con el artefacto
javax.transaction : javax.transaction-api
.
esta dependencia podría usarse en JDK11
<dependency>
<groupId>org.glassfish.corba</groupId>
<artifactId>glassfish-corba-omgapi</artifactId>
<version>4.2.1</version>
</dependency>
-
Esta es solo la API. Para ejecutar en JDK 11, se necesita la implementación real. El que me funciona es:
glassfish-corba-orb
– Iván
1 de noviembre de 2019 a las 3:35
Todavía no me he mudado a Java 11, pero siempre tuve problemas con la implementación de Java CORBA de todos modos, ya que estaba incompleta y no admitía todos los métodos de objetos definidos en los estándares, no admitía ssliop, etc. etc. Siempre lo reemplazó colocando el jar JacORB OMG en el directorio respaldado y configurando la propiedad del sistema para pont al orbe JacORB:
-Dorg.omg.CORBA.ORBClass=org.jacorb.orb.ORB -Dorg.omg.CORBA.ORBSingletonClass=org.jacorb.orb.ORBSingleton
POR CIERTO. No estoy de acuerdo en que “no hay un interés significativo en desarrollar aplicaciones modernas con CORBA en Java” después de todo, ¿en qué se basa J2EE?
-
No estoy seguro de que esto responda la pregunta. ¿Se puede usar JacORB en Java 11? ¿Debería un desarrollador dejar de usar las interfaces de Java de Java 8 y usar las clases de implementación de JacORB en su lugar?
– John Mercier
28 de marzo de 2019 a las 12:55
-
Tampoco estoy de acuerdo con la cita de Oracle. Tengo un producto comercial que admite el envío de personal de incendios forestales que utiliza 50 000 objetos CORBA remotos por instancia. Encuentro esto significativo.
– usuario207421
14 de octubre de 2019 a las 3:05
Juan Draga
JDK 11 es totalmente compatible con todos los ORB suministrados por Micro Focus.
No sé por qué esto obtuvo DV’d, es una pregunta muy válida. Desafortunadamente, la respuesta es “no”, sin embargo, en mi investigación hasta el momento, definitivamente es posible para que se integre como parte de una biblioteca externa, pero no he visto a nadie tomar esto todavía. Es posible que simplemente no haya suficiente interés para que alguien lo tome de manera abierta.
–Michael Berry
6 de agosto de 2018 a las 14:47
@MichaelBerry Podría decirse que está fuera de tema por ser una solicitud de recomendación de biblioteca. Supongo que quien emitió el voto cerrado por ese motivo también fue el votante negativo (aunque podría estar equivocado). Sin embargo, parece que esta pregunta puede ser un caso límite en la regla; podría valer la pena discutirlo en Meta (especialmente porque los votos a favor sugieren que la mayoría de los votantes, incluido yo mismo, aparentemente sienten que vale la pena considerar la pregunta).
– EJoshuaS – Stand con Ucrania
6 de agosto de 2018 a las 15:11
@EJoshuaS Hay una gran diferencia entre una pregunta que dice “recomiéndame una biblioteca para hacer
x
” y uno que dice “he estado haciendox
durante los últimos 15 años en Java y necesitará migrar a Java 11, ¿cuál es la mejor manera de proceder dado que se eliminó esta funcionalidad?” Esto es especialmente el caso, ya que las actualizaciones gratuitas de Java 8 finalizarán en unos meses.–Michael Berry
6 de agosto de 2018 a las 15:16
@MichaelBerry Estoy de acuerdo: no voté para cerrar, voté porque creo que la pregunta es útil.
– EJoshuaS – Stand con Ucrania
6 de agosto de 2018 a las 15:17