I was looking very briefly at https://issues.apache.org/jira/browse/CXF-4736 
and I understand the issue, but I'm not really finding a good solution at all.  
 

Basically, CXF has a bunch of bundles that have custom namespace handlers in 
them that perform various activities.   However, due to those namespace 
handlers, none of the bundles can load into anything other than an Aries 
blueprint container.   I know the namespace handlers are not part of the 
standard (OK with that) but I'd like to see if there is a way to at least get 
the bundles to load and be usable without the namespace handlers working.

While poking around, there might be a couple of options, but I'd like others 
thoughts:

1) Make the Aries blueprint-parser a bundle.   If that is a bundle that could 
be deployed into Gemini, then I THINK the CXF blueprint contexts would be able 
to resolve the classes and the bundles would load.   Obviously the namespace 
handlers and such would not work, but the contexts would load, the namespace 
handler services would get registered (so someone possible COULD write some 
hook into Gemini to use the handlers).   Right now, blueprint-parse is not a 
bundle at all.   It's pulled into the blueprint-core bundle and thus you have 
to have the entire Aries blueprint implementation (which then has conflicts 
with Gemini).   

2) Introduce a second "Aries specific" place for aries blueprint xml files.   
Maybe /META-INF/aries or similar where bundles that have Aries specific 
extensions could register their stuff?  Other blueprint impls would just ignore 
it. 

3) Obviously, CXF could handle this by NOT using blueprint to register their 
namespace handlers and instead use a raw Activator or something, mark the aries 
imports as optional, detect if the BlueprintContainer is Aries, register the 
handlers manually, etc… More coding, kind of crappy.   

4) Alternatively, split the aries specific stuff into separate bundles, but 
then we'd have bundle explosion.   CXF has 17 bundles with namespace handlers 
in them so that would be 17 more bundles to deal with.

Thoughts?   I'm kind of leaning toward #1, but there's likely a reason that 
it's not a bundle.   

-- 
Daniel Kulp
[email protected] - http://dankulp.com/blog
Talend Community Coder - http://coders.talend.com

Reply via email to