CORBA in JDK 9

Alan Bateman Alan.Bateman at oracle.com
Thu Nov 2 07:44:36 UTC 2017


On 01/11/2017 21:16, Pierskalla, Eric wrote:
> We are using JacORB which apparently only augments the CORBA classes in the JDK.  In JDK-8189188, it notes that JacORB includes classes in the org.omg.** package hierarchy but not the javax.rmi.** package hierarchy.  This supports what I am seeing.  I moved the JacORB classes out of the endorsed folder onto the classpath, and it continued to function in JRE 8.
> In JRE 9, without --add-modules java.corba, I get "java.lang.NoClassDefFoundError: javax/rmi/CORBA/Stub".
> With --add-modules java.corba , the error becomes" java.lang.NoClassDefFoundError: org/omg/CORBA/ORBSingleton".
Right, JacORB seems to be incomplete and so not a drop-in replacement 
for the java.corba module. If it were a drop-in replacement then you 
could deploy it on the class path or deploy it as a module on the 
upgrade module path (to override the java.corba module in the JDK).

I expect this will work:

--add-modules java.corba \
--patch-module java.corba=<JacORB-JAR-files-with-API-classes>

> After some research, I suspect this is a result of http://bugs.java.com/view_bug.do?bug_id=8042789
JDK 9 does the right thing and will not attempt to load the system-wide 
singleton ORB using the per-application TCCL. The details of this change 
are documented in the release notes [1].

-Alan

[1] 
http://www.oracle.com/technetwork/java/javase/9-notes-3745703.html#JDK-8025005


More information about the jdk9-dev mailing list