Thanks Freeman, I'll give this a try. On Thu Jan 08 2015 at 10:54:29 AM Freeman Fang <[email protected]> wrote:
> Hi, > > Yeah, this error means your bundle get started before the > cxf-rt-transports-http bundle. > > You can make your bundle import an OSGi > service(org.apache.cxf.transport.http.DestinationRegistry) which is exposed > by the cxf-rt-transports-http bundle to ensure cxf bundle get started > reliably before your bundle > ------------- > Freeman(Yue) Fang > > Red Hat, Inc. > FuseSource is now part of Red Hat > > > > On 2015-1-8, at 下午5:24, Mohammad Shamsi wrote: > > > Hi, > > I've a relatively simple REST bundle, in karaf 2.3, with following blueprint > config: > > <jaxrs:server id="foo-id" address="/foo"> > <jaxrs:serviceBeans> > <bean id="bean-id" class="sample.Foo" /> > </jaxrs:serviceBeans> > </jaxrs:server> > > Sometimes, during karaf startup, following exception is thrown: > > Caused by: org.apache.cxf.BusException: No DestinationFactory was found for > the namespace http://cxf.apache.org/transports/http. > > at > org.apache.cxf.bus.managers.DestinationFactoryManagerImpl.getDestinationFactory(DestinationFactoryManagerImpl.java:130) > > ... > > And therefore bundle installation (my rest bundle) fails. > As I said, the problem is happening randomly, i believe, depending on > bundles start order. Sometime the http-transport bundle is installed and > started after my bundle, which causes the above issue. If I refresh or > update my bundle, it starts successfully. > > Given that http-transport is used by cxf and my bundle doesn't have direct > dependency to it (not using any package from it), How can i make sure that > http-transport starts before my bundle? > > Cheers, > Mohammad Shamsi > > >
