2008-10-22 12 views
5

¿Puede Thread.getContextClassLoader() ser nulo? El javadoc no es muy claro.
¿Debe una biblioteca tener en cuenta este caso?Thread.getContextClassLoader() == null?

Actualización: la razón por la que pedí es que beansbinding.dev.java.net hace no trabajo en este caso (y mi código hace setContextClassLoader(null)

Respuesta

9

hebras Java creados a partir de código JNI en un hilo no Java tienen ContextClassloader nula a menos que el creador establece explícitamente.

también en tal contexto Thread.currentThread() devuelve un valor nulo.

+0

Esto se puede solucionar configurando 'ClassLoader cl = ClassLoader.getSystemClassLoader(); Thread.currentThread(). SetContextClassLoader (cl); ' –

4

Si usted debe, alguien podría haber llamado Thread.setContextClassLoader(null) y la biblioteca de la OMI debería ser capaz de hacer frente a que.

+0

Eso es realmente desagradable de hacer. Incluso las clases de las extensiones instaladas no se encontrarán con ese cargador de clases de contexto de subproceso. –

+0

No veo por qué eso sería desagradable. –