amergey opened a new issue, #577:
URL: https://github.com/apache/camel-karaf/issues/577
Not sure it is an issue you are supposed to fix, but I think it is
interesting to raise here just in case
In CXF 4.x, osgi and blueprint integration is removed. To workaround that I
am using camel-cxf-all and camel-cxf-blueprint, waiting for CXF to restore it
somehow.
I faced an issue caused by the fact that all CXF bundle were merged in one
bundle.
org.apache.camel.component.cxf.bus.osgi.CXFActivator#start is registering
org.apache.camel.component.cxf.bus.osgi.CXFExtensionBundleListener, which is
supposed to populate CXF ExtensionRegisty with OSGI wrapper arround CXF
extension provided by various CXF bundles.
I do not really understand why it was like this in CXF, but the code
registering extensions
(org.apache.camel.component.cxf.bus.osgi.CXFExtensionBundleListener#registerExistingBundles)
is excluding the current bundle (In original code base it was cxf-core), and
as all bundles have been merged in one, no more osgi wrappers around Extension
are registered anymore.
In my application it breaks CXF configuration with blueprint for JAXRS
service
`<jaxrs:server id="customerService" address="/customers">
<jaxrs:serviceBeans>
<ref component-id="serviceBean" />
</jaxrs:serviceBeans>
</jaxrs:server>`
The org.apache.cxf.transport.servlet.CXFNonSpringServlet registered in my
osgi container is not able to route http://host/cxf/customers queries to the
service, because it is not retrieving the correct
org.apache.cxf.transport.http.HTTPTransportFactory OSGI service which contains
all services configured trough blueprint.
My workaround, was to call
org.apache.camel.component.cxf.bus.osgi.CXFExtensionBundleListener#registerExistingBundles
from another bundle, but
one way to fix that could be to update
org.apache.camel.component.cxf.bus.osgi.CXFExtensionBundleListener#registerExistingBundles
to remove
this from the if
`&& bundle.getBundleId() != context.getBundle().getBundleId()`
My guess is there are probably multiple stuff broken because of this in OSGI
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]