I've started a bit of this in CAMEL-4139

I got rid of the CxfEndpointBean (and the spring subclass) and updated the 
spring stuff to parse directly into the CxfEndpoint.    I've added 
setters/getters for the various things that the parsers need to support.   
This now unifies the Blueprint and Spring versions and should allow the 
blueprint version to actually support interceptors/features/etc...  

The next step in my cleanup would be to move CxfBlueprintEndpoint into 
blueprint subpackage and CxfSpringEndpoint into spring.   That should keep 
things a bit cleaner.  At that point, the only spring related thing outside 
the spring package would be the doGetBus call on CxfEndpoint.    I need to 
look at that a bit more to understand if that can likewise be moved a bit.


Dan


On Wednesday, June 22, 2011 11:51:00 AM Willem Jiang wrote:
> CxfEndpointBean is used to take the configuration of CXF
> ServiceFactoryBean which is used to configure CXF endpoints.
> 
> In this way, the user can reuse their knowledge of CXF client or server
> configuration on the configuration of camel-cxf endpoint.
> 
> You can configure interceptor, features, handler through the Spring
> configuration, but you can't do it through the camel-cxf URI in current
> camel-cxf component.
> 
> I agree CxfEndpointBean has a strong dependency on the Spring and we
> should avoid it.
> 
> Maybe we could do some refactoring and enhancement in the feature to
> support the configuration of interceptor and features from URI.
> 
> On 6/22/11 6:18 AM, Daniel Kulp wrote:
> > On Tuesday, June 21, 2011 3:47:48 PM Johan Edstrom wrote:
> >> At the time I wrote that,
> >> I was trying to get around what was happening on the
> >> Spring side, and cut it down as much as possible.
> >> 
> >> I am pretty sure that I had sane reasoning at some point :) ...
> > 
> > Looking into it a little bit more, I really think the blueprint way of
> > doing it is much closer to "correct".   CxfEndpointBean implements all
> > the Spring interfaces.   Thus, it really wouldn't be appropriate for
> > the blueprint stuff to create that.   What's worse, since CxfComponent
> > does an "instanceof CxfEndpointBean", that means CxfComponent REQUIRES
> > the spring jars on the classpath.   Things definitely need some cleanup
> > around all of this.   :-(
> > 
> > Still digging......
> > 
> > Dan
> > 
> >> /je
> >> 
> >> On Jun 21, 2011, at 3:34 PM, Daniel Kulp wrote:
> >>> Just a quick question...
> >>> 
> >>> I'm working on some CXF blueprint stuff with Camel and ran into a
> >>> little issue that I want to discuss real quick.   There is a slight
> >>> difference between how blueprint and spring parse the namespace.  
> >>> I just want to see if they should be unified a bit.
> >>> 
> >>> Basically, the Spring namespace handler parses into a
> >>> "CxfEndpointBean"
> >>> (well a subclass of) and then the CxfComponent then will look that
> >>> up
> >>> and convert that into a CxfEndpoint.
> >>> 
> >>> Blueprint, on the other hand, parses directly to a CxfEndpoint.  I
> >>> had
> >>> to make some slight modification to the CxfComponent to take that
> >>> into
> >>> account.    The patch I stuck on CAMEL-4135 handles that.   However,
> >>> I'm not sure that's the best route.   Do you think the blueprint
> >>> stuff
> >>> should parse into a CxfEndpointBean as well?    I'm still kind of
> >>> digging into the camel-cxf stuff and haven't quite gotten a handle
> >>> around the differences.
-- 
Daniel Kulp
dk...@apache.org
http://dankulp.com/blog
Talend - http://www.talend.com

Reply via email to