Reviewer and committer request for 7198496 (original) (raw)

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