geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rick McGuire <rick...@gmail.com>
Subject Re: Yoko and java.endorsed.dirs question
Date Tue, 24 Apr 2007 14:18:33 GMT

Donald Woods wrote:
> I'm actually seeing a failure to start the server on certain IBM 
> JVM's, like the IBM SDK for Solaris (or HP-UX.)  This is due to a 
> unique packaging change, where they supply a jre/lib/endorsed 
> directory which contains the following -
>   ibmcertpathfw.jar        ibmjgssfw.jar            ibmpkcs.jar
>   ibmcertpathprovider.jar  ibmjgssprovider.jar      ibmsaslfw.jar
>   ibmcfw.jar               ibmjmxstubsties.jar      xml.jar
>   ibmext.jar               ibmorb.jar
>   ibmjcefw.jar             ibmorbapi.jar
> For Linux, Windows and AIX, there is no jre/lib/endorsed directory, 
> which matches the layout of the Sun JDK for Linux, Windows and Solaris.
>
> So, due to the above JDK, don't we need the Geronimo lib/endorsed 
> directory before the JDK's?
Ah, ok, I see what's happening.  Ok, here's the situation.  The base 
JVM  on the Sun platform has the  org.omg.*  classes used for CORBA 
resident on the bootclasspath.  The endorsed.dirs settings is the 
JVM-defined way to override certain packages resident in the JVM and 
replace them with a vendor-supplied set of packages.  The org.omg.* 
classes are specifically mentioned as classes for which this is supported. 

For Yoko's case, the Sun-provided org.omg classes do not actually 
conform to the CORBA defined signatures for a few of the classes, so it 
is necessary to override the JDK-provided set by either adding them to 
endorsed.dirs or prepending the jars to the bootstrap classpath.

Well, from the list above, it's obvious that the IBM JDK is also doing 
this.  Note that two of the jars in the list above are "ibmorb.jar" and 
"ibmorbapi.jar", which are obviously not compatible with what Yoko is 
expecting to see. 

So, to net it out, I'd say that for Sun JDKs, it doesn't matter which 
directory comes first in the endorsed.jars list, while for the IBM JDK, 
it quite clearly does matter which comes first.  In order for the yoko 
ORB to function correctly it must be ahead of the IBM orb implementation 
in the search order.

Rick

>
>
> -Donald
>
> Rick McGuire wrote:
>> Donald Woods wrote:
>>> What order should the paths be for java.endorsed.dirs?
>>> Should it be -
>>> 1) JDK's lib/endorsed before Geronimo's lib/endorsed
>>> 2) Geronimo's lib/endorsed before the JDK's lib/endorsed
>>>
>>> I'm wondering due to the following warning/exception in the 
>>> geronimo-corba module -
>>>   "Incorrect level of org.omg.CORBA classes found.
>>>    Likely cause is an incorrect java.endorsed.dirs configuration"
>>>
>>> Don't we need the Yoko implementation in the endorsed classpath 
>>> before the JDK's implementation???
>> For the yoko code, I'm not sure it matters.  The classes the yoko 
>> code overrides is contained in the base JVM, not in jar files 
>> contained in the endorsed dirs.  Not including the yoko jars in the 
>> endorsed dirs is one potential cause of that error (and a frequent 
>> one for 2.0 until the CORBA support was fully enabled).  There are 
>> other situations as well that can lead to that.  Are you encountering 
>> the error, or just wondering because you saw the message in the yoko 
>> code?
>>
>> Rick
>>
>>>
>>> -Donald
>>
>>
>>


Mime
View raw message