cxf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrea Smyth <andrea.sm...@iona.com>
Subject Re: About the user defined configuration file
Date Fri, 29 Sep 2006 08:36:01 GMT
Hi Jervis,

I honestly don't care - an application context can be initialized with 
any kind of resource: classpath, file, url, ...
It's more a question of adding what parametrisations of createBus the 
factory offers and passing the resp. parameters on  (system properties 
are only a fallback).

Why do you need your own Configurer to deal with handler chain cfg 
specied in the J2ee syntax?
To keep the number of different cfg file formats (wsdl, spring etc) down 
we should not encourage using such handler files by allowing to specify 
them as parameters to the bus. Instead we should limit support of these 
to processing  @HandlerChain annotation files.

Andrea.

Liu, Jervis wrote:

>Hi Andrea, I ran into a similar problem when I try to use Configurer to load and parse
my own config file (see AnnotationHandlerChainBuilder.buildHandlerChainFromClass()). In my
case, I create a new Configure to do the job, as it only needs to be aware of my handler config
file and corresponding jaxb property editor file. The problem I have is that I can not specify
my own classloader that is used to load handler cfg file for ConfigurerImpl or JaxbClassPathXmlApplicationContext.
>
>There might be two ways to fix it. One is allow passing URLs into ConfigurerImpl (ConfigurerImpl
 can only pass in one cfg file, it better can deal with an array of cfg files). The parameter
type does not have to be URL type, but can be a URL format string (eg., file://d:/handerls.xml),
underlyingly we first try to parse the input string using File format, if it fails try URL.

>
>Another way to fix the problem is to write my HandlerChainClassPathXmlApplicationContext
in jaxws/handler package, this context can pass in a classloader to load specified cfg file.

>
>Which way do you prefer? I feel the first one can address a more general requirement.
>
>Cheers,
>Jervis
>
>  
>
>>-----Original Message-----
>>From: Smyth, Andrea 
>>Sent: Friday, September 29, 2006 4:05 PM
>>To: cxf-dev@incubator.apache.org
>>Subject: Re: About the user defined configuration file
>>
>>
>>Jiang Ning wrote:
>>
>>    
>>
>>>Hi Andrea,
>>>In current cxf user defined configuration file name was passed by 
>>>System Properity
>>>-Dcxf.config.file=user_defined_configuration
>>>This user defined configuration file name will be treat as 
>>>ClassPathResource.
>>>
>>> public ConfigurerImpl(String cfgFile) {
>>>       if (null == cfgFile) {
>>>           cfgFile = 
>>>      
>>>
>>System.getProperty(USER_CFG_FILE_PROPERTY_NAME);
>>    
>>
>>>       }
>>>       if (null == cfgFile) {
>>>           cfgFile = DEFAULT_USER_CFG_FILE;
>>>       }
>>>       ClassPathResource cpr = new ClassPathResource(cfgFile);
>>>       if (cpr.exists()) {
>>>           try {
>>>               ApplicationContext ac = new 
>>>JaxbClassPathXmlApplicationContext(cfgFile);
>>>               setApplicationContext(ac);
>>>           } catch (BeansException ex) {
>>>               LogUtils.log(LOG, Level.WARNING, 
>>>"APP_CONTEXT_CREATION_FAILED_MSG", ex, (Object[])null);
>>>           }
>>>       } else {
>>>           LOG.log(Level.INFO, new 
>>>Message("USER_CFG_FILE_NOT_FOUND_MSG", LOG, cfgFile).toString());
>>>       }
>>>   }
>>>
>>>There is an issue about the user defined configuration. If the 
>>>user_defined_configuration file name is same as cxf.xml in 
>>>      
>>>
>>the classpath
>>    
>>
>>>or the user_defined_configuration file not in the classpath. The 
>>>user_defined_configuration file would not be loaded rightly.
>>>      
>>>
>>Hi Willem,
>>
>>What do you mean with  'same as cxf.xml on the classpath'? 
>>The default 
>>user cfg file (cxf.xml) is not the same as  META-INF/cxf/cxf.xml.
>>I don't see a problem as there is no cxf.xml on the classpath 
>>unless a 
>>user puts one there.
>>
>>Andrea.
>>
>>    
>>
>>>My suggestion is configurer treats the 
>>>      
>>>
>>user_defined_configuration file 
>>    
>>
>>>as URL like Celtix had done before, to make sure the configuration 
>>>file right there.
>>>Any other thought?
>>>
>>>Willem.
>>>
>>>      
>>>
>>    
>>


Mime
View raw message