As of now, the only thing that was ever reproducible was the problem
of the transport starting after the service trying to use it. I copied
some code from someone's email on the subject, and I haven't seen it
since.

The implementation that described at the beginning of this thread
seems to be working; I'll let you know if further testing turns up
anything else broken.


On Tue, Jul 19, 2016 at 1:12 AM, Christian Schneider
<[email protected]> wrote:
> I also suspect that there could be a timing issue on startup but was not
> yet able to reproduce. When I had such errors the reason was something
> different.
> Can you create a simple project that shows the problem?
>
> Christian
>
> 2016-07-18 17:44 GMT+02:00 Benson Margulies <[email protected]>:
>
>> I should say that the problems I've had even before I started changing
>> thing were that startup issues: one of them the problem of the
>> transport not being there when things went to find it.
>>
>>
>>
>> On Mon, Jul 18, 2016 at 11:41 AM, Benson Margulies <[email protected]>
>> wrote:
>> > 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
>> >>
>>
>
>
>
> --
> --
> Christian Schneider
> http://www.liquid-reality.de
> <https://owa.talend.com/owa/redir.aspx?C=3aa4083e0c744ae1ba52bd062c5a7e46&URL=http%3a%2f%2fwww.liquid-reality.de>
>
> Open Source Architect
> http://www.talend.com
> <https://owa.talend.com/owa/redir.aspx?C=3aa4083e0c744ae1ba52bd062c5a7e46&URL=http%3a%2f%2fwww.talend.com>

Reply via email to