JDK-11 supprimera de nombreuses parties anciennes du JDK ( JEP-32 ). Pour certains d'entre eux (par exemple, JAXB), la fonctionnalité sera fournie sous forme de bibliothèque normale. Vous ajoutez simplement une autre dépendance et tout fonctionne à nouveau correctement.
Mais pas pour CORBA, car
Il n'y a pas d'intérêt significatif pour développer des applications modernes avec CORBA en Java
Cependant, je suis dans la pénible situation de devoir maintenir des applications plus anciennes qui nécessitent encore CORBA tout en voulant toujours mettre à jour JDK-11.
Existe-t-il une bibliothèque de remplacement ou un autre bon moyen de migrer vers JDK-11 sans supprimer la fonctionnalité CORBA de ces applications?
Vous pouvez certainement jeter un oeil à javaee/glassfish-corba . Le document page d'accueil lit -
GlassFish ORB est conforme à la spécification CORBA 2.3.1 et aux spécifications CORBA 3.0 pour le service de noms interopérable et les intercepteurs portables. Il inclut à la fois le support IDL et RMI-IIOP. GlassFish ORB a une architecture ouverte et extensible qui prend en charge une configuration et une extension flexibles via un SPI ouvert.
De plus, qu'est-ce qui intéressera également les développeurs, à partir du PEC lui-même -
Les risques de retirer le
Java.corba
module sont:1. Les implémentations CORBA ne seront pas compilées ou exécutées si elles n'incluent qu'un sous-ensemble des API CORBA "endossées" et attendent du JDK qu'il fournisse le reste.
2. Les applications et les implémentations CORBA qui utilisent RMI-IIOP ne compileront ni ne fonctionneront. Les packages RMI-IIOP (
javax.rmi
etjavax.rmi.CORBA
) sont situés dans leJava.corba
module et lié à l'implémentation CORBA, il n'y aura donc aucun RMI-IIOP prise en charge dans Java SE une foisJava.corba
est retiré.3. Applications et implémentations CORBA utilisant le
javax.activity
Le paquet ne sera pas compilé ou exécuté. Ce paquet est situé dans leJava.corba
module et lié à l’implémentation CORBA dans celui-ci, il n’y aura donc aucun support dans Java SE une foisJava.corba
est retiré.
et plus bas là-bas
La transition de la gestion de Java EE du JCP vers la fondation Eclipse inclut l'implémentation GlassFish de CORBA et de RMI-IIOP.
aditionellement,
javax.transaction : javax.transaction-api
.Je n’ai pas encore migré vers Java 11 mais j’ai toujours eu des problèmes avec l’implémentation Java CORBA, car elle était incomplète et ne supportait pas tous les objets. méthodes définies dans les standards, ne supportait pas ssliop, etc. etc. Je l'ai toujours remplacé en plaçant le bocal JacORB OMG dans le répertoire approuvé et en configurant la propriété système pour qu'elle se connecte à l'orbe JacORB:
-Dorg.omg.CORBA.ORBClass = org.jacorb.orb.ORB -Dorg.omg.CORBA.ORBSingletonClass = org.jacorb.orb.ORBSingleton
BTW. Je ne suis pas d’accord pour dire "" Il n’ya pas d’intérêt significatif à développer des applications modernes avec CORBA en Java ", après tout, sur quoi se base J2EE?
cette dépendance pourrait être utilisée dans JDK11
<dependency>
<groupId>org.glassfish.corba</groupId>
<artifactId>glassfish-corba-omgapi</artifactId>
<version>4.2.1</version>
</dependency>