cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniel Kulp (JIRA)" <j...@apache.org>
Subject [jira] Commented: (CXF-1090) SpringBeanMap class modification for better extensibility
Date Fri, 05 Oct 2007 14:13:51 GMT

    [ https://issues.apache.org/jira/browse/CXF-1090?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12532674
] 

Daniel Kulp commented on CXF-1090:
----------------------------------


Is there any chance you could build trunk and give that a try?

I made VERY significant changes in the SpringBeanMap thing earlier this week.    One of the
things that was done was to get the lazy-init stuff actually working.   The old SpringBeanMap
stuff ended up resolving all the beens immediately.   With the new stuff, you could set lazy-init="false"
to force yours to load ASAP.   In your subclass, you can then have a @PostContruct method
that registers directly with the BindingManager from the bus.   If you register explicitely,
it wipes out the list of stuff from the BeanMap and uses yours.   Thus, the "base" one wouldn't
load.



> SpringBeanMap class modification for better extensibility
> ---------------------------------------------------------
>
>                 Key: CXF-1090
>                 URL: https://issues.apache.org/jira/browse/CXF-1090
>             Project: CXF
>          Issue Type: Improvement
>          Components: Configuration
>            Reporter: Gyorgy Orban
>            Assignee: Daniel Kulp
>
> SpringBeanMap in method processBeans(ApplicationContext beanFactory) goes through the
beans of a certain type and retrieves all the items from the property designated by idsProperty,
and  injects these to itself as keys with the bean as the value associated with it.  It would
be nice if the for loop went in reverse order. This way user spring configs would be able
to override classes in cxf,  e.g. if I extend the class org.apache.cxf.binding.soap.SoapBindingFactory
and put it in a config like this:
>     <bean class="msjava.cxfutils.binding.MSSoapBindingFactory" >
>         <property name="activationNamespaces">
>             <set>
>                 <value>http://schemas.xmlsoap.org/soap/</value>
>                 <value>http://schemas.xmlsoap.org/wsdl/soap/</value>
>                 <value>http://schemas.xmlsoap.org/wsdl/soap12/</value>
>                 <value>http://www.w3.org/2003/05/soap/bindings/HTTP/</value>
>                 <value>http://schemas.xmlsoap.org/wsdl/soap/http</value>
>             </set>
>         </property>
>         <property name="bus" ref="cxf"/>
>     </bean>
> then, for now, this bean is processed before the original SoapBindingFactory, so my items
in activationNamespaces will be overridden by the original items. This way I can't replace
the original class with mine (only programmatically).

-- 
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