cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Seumas Soltysik (JIRA)" <j...@apache.org>
Subject [jira] Created: (CXF-2075) Error in spring config file reported as a missing config file during initialization of BusApplicationContext
Date Fri, 27 Feb 2009 15:51:12 GMT
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.


Mime
View raw message