cxf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alessio Soldano <asold...@redhat.com>
Subject Re: Improving JBossWS-CXF Client Side Integration
Date Wed, 22 Jul 2009 09:49:08 GMT
Hi Dan,

Daniel Kulp wrote:
> On Tue July 21 2009 11:25:56 am Alessio Soldano wrote:
>   
>> The ServiceImpl gets the configurer from the bus after having created
>> the jaxws proxy factory bean.
>> Then my custom configurer sets the props in the JaxWSProxyFactoryBean
>> which in turns copies them to the request context in method
>> clientClientProxy(Client c), that is called when getting the port.
>>
>> Now, here are my few questions:
>> - could this be considered a proper use of the Configurer?
>>     
>
> Actually, this is EXACTLY the right use of the Configurer.   Good catch.   
> It's specifically there so the container can provide configuration to the 
> various beans used throughout CXF.
>   
OK, thanks for confirmation.

>> I've found
>> just one implementation of this interface, for something related to
>> spring configuration
>>     
>
> Our normal config mechanism is spring based.   Thus, that's the implementation 
> that is used most often.   I don't know if your JBoss integration stuff 
> exposes any of the spring config to the JBoss/CXF users.  If so, you may need 
> to keep the Spring configurer and "wrapper" it with yours. :
> Configurer orig = bus.getExtension(Configurer.class)
> bus.setExtension(new ServiceRefStubPropertyConfigurer(serviceRef, orig),
> Configurer.class);
>
> and have it call the wrapped configurer as well.
>   
I've switched to the wrapper approach, just to be sure I'm not reducing 
user's ability to set a configurer on its own (even if it's actually not 
possible in the usecase that led us to this issue).


>> - I see Configurer has two methods:
>> void configureBean(Object beanInstance);
>> void configureBean(String name, Object beanInstance);
>>
>> I'd actually add another call for the configuration in ServiceImpl using
>> the former (configureBean(Object beanInstance)) as technically speaking
>> the latter seems to me to be used for configuring beans of a specific
>> name and currently the ServiceImpl uses that for
>> portName+".jaxws-client.proxyFactory" beans.
>>     
> I'd double check that.  Instead of "adding", you MAY be able to just replace 
> as I think the default of configureBean(Object beanInstance) is to call a 
> getName on the instance and then call the other method.   
>   
I'd leave everything as is currently then. Btw having implemented my 
configurer as a wrapper, I call a private method in my configurer from 
each of the two methods and then delegate to the corresponding method in 
the wrapped configurer. So everything should go on working as originally 
meant ;-)


>> Let me know what do you think, considering you said this could be of use
>> also for integrations issues besides JBossWS.
>>     
>
> Sounds perfect!
>   
OK, thanks for the insight on this.
Cheers
Alessio

-- 
Alessio Soldano
Web Service Lead, JBoss


Mime
View raw message