ConfigurationUtils.locateFromClasspath() Classloader search logic:
------------------------------------------------------------------

                 Key: CONFIGURATION-286
                 URL: https://issues.apache.org/jira/browse/CONFIGURATION-286
             Project: Commons Configuration
          Issue Type: Improvement
    Affects Versions: 1.4
         Environment: JBoss 4.0.5.GA, JMX, Java6_01
            Reporter: Jeremy Norris
            Priority: Minor


This is not necessarily a bug in Commons Configuration, rather simply questions 
the Classloader search logic in ConfigurationUtils.locateFromClasspath().

ConfigurationUtils.locateFromClasspath(), looks up resources from Classloaders 
in the following order:

- Thread.currentThread().getContextClassLoader();
- ClassLoader.getSystemResource(resourceName);

Is this correct?  Should there be more loaders looked up?  Here is a scenario 
that "fails" to find the desired resource:

A JMX invocation into a managed EJB that's scoped into an EAR on JBoss, which 
contains a resource in another jar inside:  
Thread.currentThread().getContextClassLoader() will not find it since the 
classloader from currentThread() is from the jmx-console war context.  In this 
situation, the correct loader I want is 
ConfigurationUtils.class.getClassLoader() (since commons configuration is 
bundled with my ear).  Does it make sense to check this one as well?  Other 
solutions are simply to give it the URL resource at the point it is looked up 
(ie: new Configuration(getClass().getResource(resourceName))), so it doesn't 
fall though to an unclear, complicated resource lookup from classloaders.

What is the cleanest solution in this scenario?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to