Until recently, I didn't have all the busses I was supposed to have. A few weeks ago, I tried to add them, and I got a problem wherein some of my services would just disappear. I'll let you know soon if my current (DS1.3) solution does the job.
On Mon, Jul 18, 2016 at 11:37 AM, Christian Schneider <[email protected]> wrote: > One bus per bundle should be enough. I guess we could also do this in DSOGi. > > What you have looks good generally. Do you get any error? > > Christian > > > On 18.07.2016 17:31, Benson Margulies wrote: >> >> I'm hoping for a response from Christian. >> >> I don't think that CXF-DOSGI and I are ready for each other yet -- I >> can't be depending on a 2.0-SNAPSHOT. So I'm looking to clean up my >> existing code that launches CXF JAX-RS services via the usual CXF API >> from inside OSGi bundles from inside of Karaf 4.0.x. >> >> Below is a typical launch. To put this into context, cxfBus is an >> @Reference to a DS @Component with scope set to BUNDLE. The activator >> in the component creates a new bus and calls makes sure that it has >> the right class loader. >> >> >> bus.setExtension(context.getBundleContext().getBundle().adapt(BundleWiring.class).getClassLoader(), >> ClassLoader.class); >> >> I took a look inside of CXF-DOSGI to improve my chances of getting >> this stuff right, and I didn't see the extension getting set. I also >> saw an entire bus for each service, not just one for each bundle. >> >> Am I missing something? >> >> >> >> JAXRSServerFactoryBean sf = new JAXRSServerFactoryBean(); >> sf.setBus(cxfBus.bus()); >> sf.setProvider(new JacksonJaxbJsonProvider(JsonUtils.getObjectMapper(), >> JacksonJaxbJsonProvider.DEFAULT_ANNOTATIONS)); >> sf.setProvider(new JsonExceptionMapper()); >> sf.setProvider(new WebApplicationExceptionMapper()); >> sf.setProvider(new GenericExceptionMapper()); >> sf.setServiceBeans(Collections.singletonList(this)); > > > > -- > Christian Schneider > http://www.liquid-reality.de > > Open Source Architect > http://www.talend.com >
