[
https://issues.jboss.org/browse/AS7-2165?page=com.atlassian.jira.plugin.s...
]
Tim Pesce commented on AS7-2165:
--------------------------------
Thanks!
I have worked around this in current builds by setting the TCCL to the classloader of the
Activator Class:
{code}Thread.currentThread().setContextClassLoader(getClass().getClassLoader());{code}
Thread context ClassLoader set to unexpected value
--------------------------------------------------
Key: AS7-2165
URL:
https://issues.jboss.org/browse/AS7-2165
Project: Application Server 7
Issue Type: Bug
Components: OSGi
Affects Versions: 7.0.2.Final
Environment: Java 1.6.0_26, Mac OS 10.6.8
Reporter: Tim Pesce
Assignee: Thomas Diesler
Labels: classloader
Attachments: jboss-osgi-bug.zip
I am using library code in a BundleActivator that tries to load resources via
ClassLoader. The logic in the library looks something like this:
# if thread context ClassLoader exists use it
# else use ClassLoader for this class
The thread context ClassLoader differs from the class ClassLoader. The resources packaged
in my bundle are not available to the thread context ClassLoader, but they are available
to the class ClassLoader. In 7.0.1 there was no thread context ClassLoader, so the library
code used the class ClassLoader and correctly loaded the resources.
Here's what toString on the thread context ClassLoader shows:
{quote}
ModuleClassLoader for Module "org.jboss.as.osgi:main" from local module loader
@67d225a7 (roots: /Users/tpesce/Developer/jboss-as-7.0.2.Final/modules)
{quote}
Here's the toString on the class ClassLoader:
{quote}
HostBundleClassLoader for Module "deployment.jboss.osgi.bug:1.0.0" from Service
Module Loader
{quote}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see:
http://www.atlassian.com/software/jira