Error in spring config file reported as a missing config file during 
initialization of BusApplicationContext
------------------------------------------------------------------------------------------------------------

                 Key: CXF-2075
                 URL: https://issues.apache.org/jira/browse/CXF-2075
             Project: CXF
          Issue Type: Bug
          Components: Core
    Affects Versions: 2.1.4
            Reporter: Seumas Soltysik


The current code to create a Bus in SpringBusFactory masks any problem in 
processing the spring config file passed in to SpringBusFactory. Currently if a 
config file is corrupt, the exception thrown trying to process this file is 
eaten and an attempt to create a Bus is tried again with a different thread 
context classloader. This completely hides the source of the error and results 
in a message which indicates that the config file could not be found which is 
completely misleading for the user.
The solution is to not perform the 2nd attempt to create a 
BusApplicationContext and let the original exception propagate upwards.

     private BusApplicationContext createApplicationContext(String cfgFiles[], 
boolean includeDefaults) {
        try {      
            return new BusApplicationContext(cfgFiles, includeDefaults, 
context);
        } catch (BeansException ex) {
            ClassLoader contextLoader = 
Thread.currentThread().getContextClassLoader();
            if (contextLoader != BusApplicationContext.class.getClassLoader()) {
                Thread.currentThread().setContextClassLoader(
                    BusApplicationContext.class.getClassLoader());
                try {
                    return new BusApplicationContext(cfgFiles, includeDefaults, 
context);        
                } finally {
                    Thread.currentThread().setContextClassLoader(contextLoader);
                }
            } else {
                throw ex;
            }
        }
     }

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

Reply via email to