web-dev-qa-db-fra.com

Existe-t-il une bibliothèque de remplacement pour CORBA dans JDK 11?

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?

30
rli

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 et javax.rmi.CORBA) sont situés dans le Java.corba module et lié à l'implémentation CORBA, il n'y aura donc aucun RMI-IIOP prise en charge dans Java SE une fois Java.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 le Java.corba module et lié à l’implémentation CORBA dans celui-ci, il n’y aura donc aucun support dans Java SE une fois Java.corba est retiré.

et plus bas là-bas

aditionellement,

18
Naman

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?

2
pkanis

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>
2
slavb18