[ 
https://issues.apache.org/jira/browse/CXF-2075?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sergey Beryozkin resolved CXF-2075.
-----------------------------------

       Resolution: Fixed
    Fix Version/s: 2.1.5
                   2.2

patch applied, thanks

> 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
>             Fix For: 2.2, 2.1.5
>
>         Attachments: patch.txt
>
>
> 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