Reviewer and committer request for 7198496

Chris Hegarty chris.hegarty at oracle.com
Thu Oct 4 08:44:54 UTC 2012


On 04/10/12 09:14, David Holmes wrote:
> ...
>>> The point is that returning null in itself has no direct significance.
>>
>> I am not sure i agree. The TCCL can be set to null and that has
>> significance as per the JavaDoc:
>>
>>       * @param  cl
>>       *         the context ClassLoader for this Thread, or null
>> indicating the
>>       *         system class loader (or, failing that, the bootstrap
>> class loader)
>>       *
>>       * @throws  SecurityException
>>       *          if the current thread cannot set the context ClassLoader
>>       *
>>       * @since 1.2
>>       */
>>      public void setContextClassLoader(ClassLoader cl) {
>
> Sorry but that is just the dual incorrect statement of what is in
> getContextClassLoader. It is not a meaningful description, in fact it is
> incorrect because null only ever means the bootstrap loader, never the
> system class loader - and the null can't mean two different things. And
> what is "or failing that" supposed to mean?
>
> These parts of the javadoc for get/setContextClassLoader are simply wrong.

They should be non-normative statements in the method description to 
give general guidance as to the interpretation of null.

I can file a new bug for this.

-Chris.

>
> David
> -----
>
>> Paul.
>>
>>> The issue here is how ServiceLoader should attempt to load something
>>> if there is no CCL set for the thread.
>>>



More information about the core-libs-dev mailing list