geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rick McGuire <>
Subject Re: Yoko and java.endorsed.dirs question
Date Tue, 24 Apr 2007 18:55:43 GMT
Donald Woods wrote:
> Along the same train of thought - Should we always place the Geronimo 
> server's lib/ext before the JVM's?
Probably safest.  Things get placed there because we absolutely need 
that version.


> -Donald
> Rick McGuire wrote:
>> 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

View raw message