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
