You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Scott Lewis <sl...@composent.com> on 2018/10/20 21:31:55 UTC
multiple CXFNonSpringJaxrsServlets
Hi,
Using OSGi HttpService, if I register more than one instance of
CXFNonSpringJaxrsServlet...i.e. at different aliases...then I get an
exception. For example if I have two aliases
'/foo' -> instance 1 of CXFNonSpringJaxrsServlet
'/bar' -> instance 2 of CXFNonSpringJaxrsServlet
on the second call to httpService.registerServlet I get exception and
stack trace below.
Is there a way to create/configure/register multiple
CXFNonSpringJaxrsServlet instances...and/or the underlying
JAXRSServerFactoryBean so that they don't conflict in this manner? Or
is there some other cxf jaxrs servlet/bean classes that would allow this?
Thanksinadvance,
Scott
org.apache.cxf.service.factory.ServiceConstructionException
at
org.apache.cxf.jaxrs.JAXRSServerFactoryBean.create(JAXRSServerFactoryBean.java:219)
at
org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet.createServerFromApplication(CXFNonSpringJaxrsServlet.java:546)
at
org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet.init(CXFNonSpringJaxrsServlet.java:115)
at
org.eclipse.equinox.http.servlet.internal.HttpServiceRuntimeImpl$LegacyServlet.init(HttpServiceRuntimeImpl.java:1206)
at
org.eclipse.equinox.http.servlet.internal.registration.EndpointRegistration.init(EndpointRegistration.java:94)
at
org.eclipse.equinox.http.servlet.internal.context.ContextController.doAddServletRegistration(ContextController.java:596)
at
org.eclipse.equinox.http.servlet.internal.context.ContextController.addServletRegistration(ContextController.java:450)
at
org.eclipse.equinox.http.servlet.internal.customizer.ContextServletTrackerCustomizer.addingService(ContextServletTrackerCustomizer.java:55)
at
org.eclipse.equinox.http.servlet.internal.customizer.ContextServletTrackerCustomizer.addingService(ContextServletTrackerCustomizer.java:1)
at
org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:941)
at
org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:1)
at
org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)
at
org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229)
at
org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:901)
at
org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:109)
at
org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:920)
at
org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
at
org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
at
org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:862)
at
org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:801)
at
org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:127)
at
org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:225)
at
org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:469)
at
org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:487)
at
org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:1004)
at
org.eclipse.equinox.http.servlet.internal.HttpServiceRuntimeImpl.registerHttpServiceServlet(HttpServiceRuntimeImpl.java:722)
at
org.eclipse.equinox.http.servlet.internal.HttpServiceImpl$3.run(HttpServiceImpl.java:148)
at
org.eclipse.equinox.http.servlet.internal.HttpServiceImpl$3.run(HttpServiceImpl.java:1)
at java.security.AccessController.doPrivileged(Native Method)
at
org.eclipse.equinox.http.servlet.internal.HttpServiceImpl.registerServlet(HttpServiceImpl.java:145)
<stack deleted>
Caused by: org.apache.cxf.service.factory.ServiceConstructionException:
There is an endpoint already running on /.
at
org.apache.cxf.jaxrs.JAXRSBindingFactory.addListener(JAXRSBindingFactory.java:86)
at org.apache.cxf.endpoint.ServerImpl.start(ServerImpl.java:123)
at
org.apache.cxf.jaxrs.JAXRSServerFactoryBean.create(JAXRSServerFactoryBean.java:206)
... 84 more
Re: multiple CXFNonSpringJaxrsServlets
Posted by David Karlsen <da...@gmail.com>.
Yes correct.
I have two servlets - one for jax-ws, one for jax-rs, the latter with two
jaxrsServerFactories.
Den tir. 30. okt. 2018 kl. 22:41 skrev Scott Lewis <sl...@composent.com>:
> On 10/30/2018 12:53 PM, David Karlsen wrote:
> > I register several jaxrsServerFactoryBean beans with the same but - under
> > different addresses - which works fine
>
> So that I understand: you register multiple beans with the same
> instance of CXFNonSpringServlet...with different aliases (e.g. '/foo'
> and '/bar')? I also assume you are not using the OSGi HttpService to
> register multiple servlet instances, correct?
>
> If at all possible, I would like to use multiple instances of
> CXFNonSpringServlet with HttpService, and not have them conflict.
>
> Scott
>
> >
> > Den tir. 30. okt. 2018 kl. 16:56 skrev Scott Lewis <slewis@composent.com
> >:
> >
> >> Separate bus instances are created for the CXFNonSpringServlets init,
> >> but what apparently blows up is the create/use/start of more than one
> >> org.apache.cxf.endpoint.ServerImpl instance at: at
> >> org.apache.cxf.endpoint.ServerImpl.start(ServerImpl.java:123).
> >>
> >> Any insights on how to avoid/work around this?
> >>
> >> Scott
> >>
> >> On 10/21/2018 9:53 AM, Scott Lewis wrote:
> >>> On 10/21/2018 2:38 AM, David Karlsen wrote:
> >>>> If you have separate CxfBus'es per servlet it should work AFAIK.
> >>> It seems that by default in the superclass
> >>>
> org.apache.cxf.transport.servlet.CXFNonSpringServlet.init(ServletConfig)
> >>> the loadBus method is called during init, and that's implemented as:
> >>>
> >>> protected void loadBus(ServletConfig sc) {
> >>> this.bus = BusFactory.newInstance().createBus();
> >>> }
> >>>
> >>> This seems to be a separate Bus instance (createBus())...apparently of
> >>> the same type.
> >>>
> >>> So the two servlet instances do have separate Bus instances, but I
> >>> still get the error described.
> >>>
> >>> Thanksinadvance,
> >>>
> >>> Scott
> >>>
> >>>> Den lør. 20. okt. 2018 kl. 23:32 skrev Scott Lewis
> >>>> <sl...@composent.com>:
> >>>>
> >>>>> Hi,
> >>>>>
> >>>>> Using OSGi HttpService, if I register more than one instance of
> >>>>> CXFNonSpringJaxrsServlet...i.e. at different aliases...then I get an
> >>>>> exception. For example if I have two aliases
> >>>>>
> >>>>> '/foo' -> instance 1 of CXFNonSpringJaxrsServlet
> >>>>>
> >>>>> '/bar' -> instance 2 of CXFNonSpringJaxrsServlet
> >>>>>
> >>>>> on the second call to httpService.registerServlet I get exception and
> >>>>> stack trace below.
> >>>>>
> >>>>> Is there a way to create/configure/register multiple
> >>>>> CXFNonSpringJaxrsServlet instances...and/or the underlying
> >>>>> JAXRSServerFactoryBean so that they don't conflict in this manner?
> Or
> >>>>> is there some other cxf jaxrs servlet/bean classes that would allow
> >>>>> this?
> >>>>>
> >>>>> Thanksinadvance,
> >>>>>
> >>>>> Scott
> >>>>>
> >>>>> org.apache.cxf.service.factory.ServiceConstructionException
> >>>>> at
> >>>>>
> >>>>>
> >>
> org.apache.cxf.jaxrs.JAXRSServerFactoryBean.create(JAXRSServerFactoryBean.java:219)
> >>
> >>>>> at
> >>>>>
> >>>>>
> >>
> org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet.createServerFromApplication(CXFNonSpringJaxrsServlet.java:546)
> >>
> >>>>> at
> >>>>>
> >>>>>
> >>
> org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet.init(CXFNonSpringJaxrsServlet.java:115)
> >>
> >>>>> at
> >>>>>
> >>>>>
> >>
> org.eclipse.equinox.http.servlet.internal.HttpServiceRuntimeImpl$LegacyServlet.init(HttpServiceRuntimeImpl.java:1206)
> >>
> >>>>> at
> >>>>>
> >>>>>
> >>
> org.eclipse.equinox.http.servlet.internal.registration.EndpointRegistration.init(EndpointRegistration.java:94)
> >>
> >>>>> at
> >>>>>
> >>>>>
> >>
> org.eclipse.equinox.http.servlet.internal.context.ContextController.doAddServletRegistration(ContextController.java:596)
> >>
> >>>>> at
> >>>>>
> >>>>>
> >>
> org.eclipse.equinox.http.servlet.internal.context.ContextController.addServletRegistration(ContextController.java:450)
> >>
> >>>>> at
> >>>>>
> >>>>>
> >>
> org.eclipse.equinox.http.servlet.internal.customizer.ContextServletTrackerCustomizer.addingService(ContextServletTrackerCustomizer.java:55)
> >>
> >>>>> at
> >>>>>
> >>>>>
> >>
> org.eclipse.equinox.http.servlet.internal.customizer.ContextServletTrackerCustomizer.addingService(ContextServletTrackerCustomizer.java:1)
> >>
> >>>>> at
> >>>>>
> >>>>>
> >>
> org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:941)
> >>
> >>>>> at
> >>>>>
> >>>>>
> >>
> org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:1)
> >>
> >>>>> at
> >>>>>
> >>
> org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)
> >>>>> at
> >>>>> org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229)
> >>>>> at
> >>>>>
> >>>>>
> >>
> org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:901)
> >>
> >>>>> at
> >>>>>
> >>>>>
> >>
> org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:109)
> >>
> >>>>> at
> >>>>>
> >>>>>
> >>
> org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:920)
> >>
> >>>>> at
> >>>>>
> >>>>>
> >>
> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
> >>
> >>>>> at
> >>>>>
> >>>>>
> >>
> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
> >>
> >>>>> at
> >>>>>
> >>>>>
> >>
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:862)
> >>
> >>>>> at
> >>>>>
> >>>>>
> >>
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:801)
> >>
> >>>>> at
> >>>>>
> >>>>>
> >>
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:127)
> >>
> >>>>> at
> >>>>>
> >>>>>
> >>
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:225)
> >>
> >>>>> at
> >>>>>
> >>>>>
> >>
> org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:469)
> >>
> >>>>> at
> >>>>>
> >>>>>
> >>
> org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:487)
> >>
> >>>>> at
> >>>>>
> >>>>>
> >>
> org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:1004)
> >>
> >>>>> at
> >>>>>
> >>>>>
> >>
> org.eclipse.equinox.http.servlet.internal.HttpServiceRuntimeImpl.registerHttpServiceServlet(HttpServiceRuntimeImpl.java:722)
> >>
> >>>>> at
> >>>>>
> >>>>>
> >>
> org.eclipse.equinox.http.servlet.internal.HttpServiceImpl$3.run(HttpServiceImpl.java:148)
> >>
> >>>>> at
> >>>>>
> >>>>>
> >>
> org.eclipse.equinox.http.servlet.internal.HttpServiceImpl$3.run(HttpServiceImpl.java:1)
> >>
> >>>>> at java.security.AccessController.doPrivileged(Native Method)
> >>>>> at
> >>>>>
> >>>>>
> >>
> org.eclipse.equinox.http.servlet.internal.HttpServiceImpl.registerServlet(HttpServiceImpl.java:145)
> >>
> >>>>> <stack deleted>
> >>>>> Caused by:
> org.apache.cxf.service.factory.ServiceConstructionException:
> >>>>> There is an endpoint already running on /.
> >>>>> at
> >>>>>
> >>>>>
> >>
> org.apache.cxf.jaxrs.JAXRSBindingFactory.addListener(JAXRSBindingFactory.java:86)
> >>
> >>>>> at
> org.apache.cxf.endpoint.ServerImpl.start(ServerImpl.java:123)
> >>>>> at
> >>>>>
> >>>>>
> >>
> org.apache.cxf.jaxrs.JAXRSServerFactoryBean.create(JAXRSServerFactoryBean.java:206)
> >>
> >>>>> ... 84 more
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>
>
>
--
--
David J. M. Karlsen - http://www.linkedin.com/in/davidkarlsen
Re: multiple CXFNonSpringJaxrsServlets
Posted by Scott Lewis <sl...@composent.com>.
On 10/30/2018 12:53 PM, David Karlsen wrote:
> I register several jaxrsServerFactoryBean beans with the same but - under
> different addresses - which works fine
So that I understand: you register multiple beans with the same
instance of CXFNonSpringServlet...with different aliases (e.g. '/foo'
and '/bar')? I also assume you are not using the OSGi HttpService to
register multiple servlet instances, correct?
If at all possible, I would like to use multiple instances of
CXFNonSpringServlet with HttpService, and not have them conflict.
Scott
>
> Den tir. 30. okt. 2018 kl. 16:56 skrev Scott Lewis <sl...@composent.com>:
>
>> Separate bus instances are created for the CXFNonSpringServlets init,
>> but what apparently blows up is the create/use/start of more than one
>> org.apache.cxf.endpoint.ServerImpl instance at: at
>> org.apache.cxf.endpoint.ServerImpl.start(ServerImpl.java:123).
>>
>> Any insights on how to avoid/work around this?
>>
>> Scott
>>
>> On 10/21/2018 9:53 AM, Scott Lewis wrote:
>>> On 10/21/2018 2:38 AM, David Karlsen wrote:
>>>> If you have separate CxfBus'es per servlet it should work AFAIK.
>>> It seems that by default in the superclass
>>> org.apache.cxf.transport.servlet.CXFNonSpringServlet.init(ServletConfig)
>>> the loadBus method is called during init, and that's implemented as:
>>>
>>> protected void loadBus(ServletConfig sc) {
>>> this.bus = BusFactory.newInstance().createBus();
>>> }
>>>
>>> This seems to be a separate Bus instance (createBus())...apparently of
>>> the same type.
>>>
>>> So the two servlet instances do have separate Bus instances, but I
>>> still get the error described.
>>>
>>> Thanksinadvance,
>>>
>>> Scott
>>>
>>>> Den lør. 20. okt. 2018 kl. 23:32 skrev Scott Lewis
>>>> <sl...@composent.com>:
>>>>
>>>>> Hi,
>>>>>
>>>>> Using OSGi HttpService, if I register more than one instance of
>>>>> CXFNonSpringJaxrsServlet...i.e. at different aliases...then I get an
>>>>> exception. For example if I have two aliases
>>>>>
>>>>> '/foo' -> instance 1 of CXFNonSpringJaxrsServlet
>>>>>
>>>>> '/bar' -> instance 2 of CXFNonSpringJaxrsServlet
>>>>>
>>>>> on the second call to httpService.registerServlet I get exception and
>>>>> stack trace below.
>>>>>
>>>>> Is there a way to create/configure/register multiple
>>>>> CXFNonSpringJaxrsServlet instances...and/or the underlying
>>>>> JAXRSServerFactoryBean so that they don't conflict in this manner? Or
>>>>> is there some other cxf jaxrs servlet/bean classes that would allow
>>>>> this?
>>>>>
>>>>> Thanksinadvance,
>>>>>
>>>>> Scott
>>>>>
>>>>> org.apache.cxf.service.factory.ServiceConstructionException
>>>>> at
>>>>>
>>>>>
>> org.apache.cxf.jaxrs.JAXRSServerFactoryBean.create(JAXRSServerFactoryBean.java:219)
>>
>>>>> at
>>>>>
>>>>>
>> org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet.createServerFromApplication(CXFNonSpringJaxrsServlet.java:546)
>>
>>>>> at
>>>>>
>>>>>
>> org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet.init(CXFNonSpringJaxrsServlet.java:115)
>>
>>>>> at
>>>>>
>>>>>
>> org.eclipse.equinox.http.servlet.internal.HttpServiceRuntimeImpl$LegacyServlet.init(HttpServiceRuntimeImpl.java:1206)
>>
>>>>> at
>>>>>
>>>>>
>> org.eclipse.equinox.http.servlet.internal.registration.EndpointRegistration.init(EndpointRegistration.java:94)
>>
>>>>> at
>>>>>
>>>>>
>> org.eclipse.equinox.http.servlet.internal.context.ContextController.doAddServletRegistration(ContextController.java:596)
>>
>>>>> at
>>>>>
>>>>>
>> org.eclipse.equinox.http.servlet.internal.context.ContextController.addServletRegistration(ContextController.java:450)
>>
>>>>> at
>>>>>
>>>>>
>> org.eclipse.equinox.http.servlet.internal.customizer.ContextServletTrackerCustomizer.addingService(ContextServletTrackerCustomizer.java:55)
>>
>>>>> at
>>>>>
>>>>>
>> org.eclipse.equinox.http.servlet.internal.customizer.ContextServletTrackerCustomizer.addingService(ContextServletTrackerCustomizer.java:1)
>>
>>>>> at
>>>>>
>>>>>
>> org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:941)
>>
>>>>> at
>>>>>
>>>>>
>> org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:1)
>>
>>>>> at
>>>>>
>> org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)
>>>>> at
>>>>> org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229)
>>>>> at
>>>>>
>>>>>
>> org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:901)
>>
>>>>> at
>>>>>
>>>>>
>> org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:109)
>>
>>>>> at
>>>>>
>>>>>
>> org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:920)
>>
>>>>> at
>>>>>
>>>>>
>> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
>>
>>>>> at
>>>>>
>>>>>
>> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
>>
>>>>> at
>>>>>
>>>>>
>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:862)
>>
>>>>> at
>>>>>
>>>>>
>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:801)
>>
>>>>> at
>>>>>
>>>>>
>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:127)
>>
>>>>> at
>>>>>
>>>>>
>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:225)
>>
>>>>> at
>>>>>
>>>>>
>> org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:469)
>>
>>>>> at
>>>>>
>>>>>
>> org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:487)
>>
>>>>> at
>>>>>
>>>>>
>> org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:1004)
>>
>>>>> at
>>>>>
>>>>>
>> org.eclipse.equinox.http.servlet.internal.HttpServiceRuntimeImpl.registerHttpServiceServlet(HttpServiceRuntimeImpl.java:722)
>>
>>>>> at
>>>>>
>>>>>
>> org.eclipse.equinox.http.servlet.internal.HttpServiceImpl$3.run(HttpServiceImpl.java:148)
>>
>>>>> at
>>>>>
>>>>>
>> org.eclipse.equinox.http.servlet.internal.HttpServiceImpl$3.run(HttpServiceImpl.java:1)
>>
>>>>> at java.security.AccessController.doPrivileged(Native Method)
>>>>> at
>>>>>
>>>>>
>> org.eclipse.equinox.http.servlet.internal.HttpServiceImpl.registerServlet(HttpServiceImpl.java:145)
>>
>>>>> <stack deleted>
>>>>> Caused by: org.apache.cxf.service.factory.ServiceConstructionException:
>>>>> There is an endpoint already running on /.
>>>>> at
>>>>>
>>>>>
>> org.apache.cxf.jaxrs.JAXRSBindingFactory.addListener(JAXRSBindingFactory.java:86)
>>
>>>>> at org.apache.cxf.endpoint.ServerImpl.start(ServerImpl.java:123)
>>>>> at
>>>>>
>>>>>
>> org.apache.cxf.jaxrs.JAXRSServerFactoryBean.create(JAXRSServerFactoryBean.java:206)
>>
>>>>> ... 84 more
>>>>>
>>>>>
>>>>>
>>>>>
>>
Re: multiple CXFNonSpringJaxrsServlets
Posted by David Karlsen <da...@gmail.com>.
I register several jaxrsServerFactoryBean beans with the same but - under
different addresses - which works fine
Den tir. 30. okt. 2018 kl. 16:56 skrev Scott Lewis <sl...@composent.com>:
>
> Separate bus instances are created for the CXFNonSpringServlets init,
> but what apparently blows up is the create/use/start of more than one
> org.apache.cxf.endpoint.ServerImpl instance at: at
> org.apache.cxf.endpoint.ServerImpl.start(ServerImpl.java:123).
>
> Any insights on how to avoid/work around this?
>
> Scott
>
> On 10/21/2018 9:53 AM, Scott Lewis wrote:
> > On 10/21/2018 2:38 AM, David Karlsen wrote:
> >> If you have separate CxfBus'es per servlet it should work AFAIK.
> >
> > It seems that by default in the superclass
> > org.apache.cxf.transport.servlet.CXFNonSpringServlet.init(ServletConfig)
> > the loadBus method is called during init, and that's implemented as:
> >
> > protected void loadBus(ServletConfig sc) {
> > this.bus = BusFactory.newInstance().createBus();
> > }
> >
> > This seems to be a separate Bus instance (createBus())...apparently of
> > the same type.
> >
> > So the two servlet instances do have separate Bus instances, but I
> > still get the error described.
> >
> > Thanksinadvance,
> >
> > Scott
> >
> >>
> >> Den lør. 20. okt. 2018 kl. 23:32 skrev Scott Lewis
> >> <sl...@composent.com>:
> >>
> >>> Hi,
> >>>
> >>> Using OSGi HttpService, if I register more than one instance of
> >>> CXFNonSpringJaxrsServlet...i.e. at different aliases...then I get an
> >>> exception. For example if I have two aliases
> >>>
> >>> '/foo' -> instance 1 of CXFNonSpringJaxrsServlet
> >>>
> >>> '/bar' -> instance 2 of CXFNonSpringJaxrsServlet
> >>>
> >>> on the second call to httpService.registerServlet I get exception and
> >>> stack trace below.
> >>>
> >>> Is there a way to create/configure/register multiple
> >>> CXFNonSpringJaxrsServlet instances...and/or the underlying
> >>> JAXRSServerFactoryBean so that they don't conflict in this manner? Or
> >>> is there some other cxf jaxrs servlet/bean classes that would allow
> >>> this?
> >>>
> >>> Thanksinadvance,
> >>>
> >>> Scott
> >>>
> >>> org.apache.cxf.service.factory.ServiceConstructionException
> >>> at
> >>>
> >>>
> org.apache.cxf.jaxrs.JAXRSServerFactoryBean.create(JAXRSServerFactoryBean.java:219)
>
> >>>
> >>> at
> >>>
> >>>
> org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet.createServerFromApplication(CXFNonSpringJaxrsServlet.java:546)
>
> >>>
> >>> at
> >>>
> >>>
> org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet.init(CXFNonSpringJaxrsServlet.java:115)
>
> >>>
> >>> at
> >>>
> >>>
> org.eclipse.equinox.http.servlet.internal.HttpServiceRuntimeImpl$LegacyServlet.init(HttpServiceRuntimeImpl.java:1206)
>
> >>>
> >>> at
> >>>
> >>>
> org.eclipse.equinox.http.servlet.internal.registration.EndpointRegistration.init(EndpointRegistration.java:94)
>
> >>>
> >>> at
> >>>
> >>>
> org.eclipse.equinox.http.servlet.internal.context.ContextController.doAddServletRegistration(ContextController.java:596)
>
> >>>
> >>> at
> >>>
> >>>
> org.eclipse.equinox.http.servlet.internal.context.ContextController.addServletRegistration(ContextController.java:450)
>
> >>>
> >>> at
> >>>
> >>>
> org.eclipse.equinox.http.servlet.internal.customizer.ContextServletTrackerCustomizer.addingService(ContextServletTrackerCustomizer.java:55)
>
> >>>
> >>> at
> >>>
> >>>
> org.eclipse.equinox.http.servlet.internal.customizer.ContextServletTrackerCustomizer.addingService(ContextServletTrackerCustomizer.java:1)
>
> >>>
> >>> at
> >>>
> >>>
> org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:941)
>
> >>>
> >>> at
> >>>
> >>>
> org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:1)
>
> >>>
> >>> at
> >>>
> org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)
> >>>
> >>> at
> >>> org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229)
> >>> at
> >>>
> >>>
> org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:901)
>
> >>>
> >>> at
> >>>
> >>>
> org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:109)
>
> >>>
> >>> at
> >>>
> >>>
> org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:920)
>
> >>>
> >>> at
> >>>
> >>>
> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
>
> >>>
> >>> at
> >>>
> >>>
> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
>
> >>>
> >>> at
> >>>
> >>>
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:862)
>
> >>>
> >>> at
> >>>
> >>>
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:801)
>
> >>>
> >>> at
> >>>
> >>>
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:127)
>
> >>>
> >>> at
> >>>
> >>>
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:225)
>
> >>>
> >>> at
> >>>
> >>>
> org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:469)
>
> >>>
> >>> at
> >>>
> >>>
> org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:487)
>
> >>>
> >>> at
> >>>
> >>>
> org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:1004)
>
> >>>
> >>> at
> >>>
> >>>
> org.eclipse.equinox.http.servlet.internal.HttpServiceRuntimeImpl.registerHttpServiceServlet(HttpServiceRuntimeImpl.java:722)
>
> >>>
> >>> at
> >>>
> >>>
> org.eclipse.equinox.http.servlet.internal.HttpServiceImpl$3.run(HttpServiceImpl.java:148)
>
> >>>
> >>> at
> >>>
> >>>
> org.eclipse.equinox.http.servlet.internal.HttpServiceImpl$3.run(HttpServiceImpl.java:1)
>
> >>>
> >>> at java.security.AccessController.doPrivileged(Native Method)
> >>> at
> >>>
> >>>
> org.eclipse.equinox.http.servlet.internal.HttpServiceImpl.registerServlet(HttpServiceImpl.java:145)
>
> >>>
> >>> <stack deleted>
> >>> Caused by: org.apache.cxf.service.factory.ServiceConstructionException:
> >>> There is an endpoint already running on /.
> >>> at
> >>>
> >>>
> org.apache.cxf.jaxrs.JAXRSBindingFactory.addListener(JAXRSBindingFactory.java:86)
>
> >>>
> >>> at org.apache.cxf.endpoint.ServerImpl.start(ServerImpl.java:123)
> >>> at
> >>>
> >>>
> org.apache.cxf.jaxrs.JAXRSServerFactoryBean.create(JAXRSServerFactoryBean.java:206)
>
> >>>
> >>> ... 84 more
> >>>
> >>>
> >>>
> >>>
> >
>
>
--
--
David J. M. Karlsen - http://www.linkedin.com/in/davidkarlsen
Re: multiple CXFNonSpringJaxrsServlets
Posted by Scott Lewis <sl...@composent.com>.
Separate bus instances are created for the CXFNonSpringServlets init,
but what apparently blows up is the create/use/start of more than one
org.apache.cxf.endpoint.ServerImpl instance at: at
org.apache.cxf.endpoint.ServerImpl.start(ServerImpl.java:123).
Any insights on how to avoid/work around this?
Scott
On 10/21/2018 9:53 AM, Scott Lewis wrote:
> On 10/21/2018 2:38 AM, David Karlsen wrote:
>> If you have separate CxfBus'es per servlet it should work AFAIK.
>
> It seems that by default in the superclass
> org.apache.cxf.transport.servlet.CXFNonSpringServlet.init(ServletConfig)
> the loadBus method is called during init, and that's implemented as:
>
> protected void loadBus(ServletConfig sc) {
> this.bus = BusFactory.newInstance().createBus();
> }
>
> This seems to be a separate Bus instance (createBus())...apparently of
> the same type.
>
> So the two servlet instances do have separate Bus instances, but I
> still get the error described.
>
> Thanksinadvance,
>
> Scott
>
>>
>> Den lør. 20. okt. 2018 kl. 23:32 skrev Scott Lewis
>> <sl...@composent.com>:
>>
>>> Hi,
>>>
>>> Using OSGi HttpService, if I register more than one instance of
>>> CXFNonSpringJaxrsServlet...i.e. at different aliases...then I get an
>>> exception. For example if I have two aliases
>>>
>>> '/foo' -> instance 1 of CXFNonSpringJaxrsServlet
>>>
>>> '/bar' -> instance 2 of CXFNonSpringJaxrsServlet
>>>
>>> on the second call to httpService.registerServlet I get exception and
>>> stack trace below.
>>>
>>> Is there a way to create/configure/register multiple
>>> CXFNonSpringJaxrsServlet instances...and/or the underlying
>>> JAXRSServerFactoryBean so that they don't conflict in this manner? Or
>>> is there some other cxf jaxrs servlet/bean classes that would allow
>>> this?
>>>
>>> Thanksinadvance,
>>>
>>> Scott
>>>
>>> org.apache.cxf.service.factory.ServiceConstructionException
>>> at
>>>
>>> org.apache.cxf.jaxrs.JAXRSServerFactoryBean.create(JAXRSServerFactoryBean.java:219)
>>>
>>> at
>>>
>>> org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet.createServerFromApplication(CXFNonSpringJaxrsServlet.java:546)
>>>
>>> at
>>>
>>> org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet.init(CXFNonSpringJaxrsServlet.java:115)
>>>
>>> at
>>>
>>> org.eclipse.equinox.http.servlet.internal.HttpServiceRuntimeImpl$LegacyServlet.init(HttpServiceRuntimeImpl.java:1206)
>>>
>>> at
>>>
>>> org.eclipse.equinox.http.servlet.internal.registration.EndpointRegistration.init(EndpointRegistration.java:94)
>>>
>>> at
>>>
>>> org.eclipse.equinox.http.servlet.internal.context.ContextController.doAddServletRegistration(ContextController.java:596)
>>>
>>> at
>>>
>>> org.eclipse.equinox.http.servlet.internal.context.ContextController.addServletRegistration(ContextController.java:450)
>>>
>>> at
>>>
>>> org.eclipse.equinox.http.servlet.internal.customizer.ContextServletTrackerCustomizer.addingService(ContextServletTrackerCustomizer.java:55)
>>>
>>> at
>>>
>>> org.eclipse.equinox.http.servlet.internal.customizer.ContextServletTrackerCustomizer.addingService(ContextServletTrackerCustomizer.java:1)
>>>
>>> at
>>>
>>> org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:941)
>>>
>>> at
>>>
>>> org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:1)
>>>
>>> at
>>> org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)
>>>
>>> at
>>> org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229)
>>> at
>>>
>>> org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:901)
>>>
>>> at
>>>
>>> org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:109)
>>>
>>> at
>>>
>>> org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:920)
>>>
>>> at
>>>
>>> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
>>>
>>> at
>>>
>>> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
>>>
>>> at
>>>
>>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:862)
>>>
>>> at
>>>
>>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:801)
>>>
>>> at
>>>
>>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:127)
>>>
>>> at
>>>
>>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:225)
>>>
>>> at
>>>
>>> org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:469)
>>>
>>> at
>>>
>>> org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:487)
>>>
>>> at
>>>
>>> org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:1004)
>>>
>>> at
>>>
>>> org.eclipse.equinox.http.servlet.internal.HttpServiceRuntimeImpl.registerHttpServiceServlet(HttpServiceRuntimeImpl.java:722)
>>>
>>> at
>>>
>>> org.eclipse.equinox.http.servlet.internal.HttpServiceImpl$3.run(HttpServiceImpl.java:148)
>>>
>>> at
>>>
>>> org.eclipse.equinox.http.servlet.internal.HttpServiceImpl$3.run(HttpServiceImpl.java:1)
>>>
>>> at java.security.AccessController.doPrivileged(Native Method)
>>> at
>>>
>>> org.eclipse.equinox.http.servlet.internal.HttpServiceImpl.registerServlet(HttpServiceImpl.java:145)
>>>
>>> <stack deleted>
>>> Caused by: org.apache.cxf.service.factory.ServiceConstructionException:
>>> There is an endpoint already running on /.
>>> at
>>>
>>> org.apache.cxf.jaxrs.JAXRSBindingFactory.addListener(JAXRSBindingFactory.java:86)
>>>
>>> at org.apache.cxf.endpoint.ServerImpl.start(ServerImpl.java:123)
>>> at
>>>
>>> org.apache.cxf.jaxrs.JAXRSServerFactoryBean.create(JAXRSServerFactoryBean.java:206)
>>>
>>> ... 84 more
>>>
>>>
>>>
>>>
>
Re: multiple CXFNonSpringJaxrsServlets
Posted by Scott Lewis <sl...@composent.com>.
On 10/21/2018 2:38 AM, David Karlsen wrote:
> If you have separate CxfBus'es per servlet it should work AFAIK.
It seems that by default in the superclass
org.apache.cxf.transport.servlet.CXFNonSpringServlet.init(ServletConfig)
the loadBus method is called during init, and that's implemented as:
protected void loadBus(ServletConfig sc) {
this.bus = BusFactory.newInstance().createBus();
}
This seems to be a separate Bus instance (createBus())...apparently of
the same type.
So the two servlet instances do have separate Bus instances, but I still
get the error described.
Thanksinadvance,
Scott
>
> Den lør. 20. okt. 2018 kl. 23:32 skrev Scott Lewis <sl...@composent.com>:
>
>> Hi,
>>
>> Using OSGi HttpService, if I register more than one instance of
>> CXFNonSpringJaxrsServlet...i.e. at different aliases...then I get an
>> exception. For example if I have two aliases
>>
>> '/foo' -> instance 1 of CXFNonSpringJaxrsServlet
>>
>> '/bar' -> instance 2 of CXFNonSpringJaxrsServlet
>>
>> on the second call to httpService.registerServlet I get exception and
>> stack trace below.
>>
>> Is there a way to create/configure/register multiple
>> CXFNonSpringJaxrsServlet instances...and/or the underlying
>> JAXRSServerFactoryBean so that they don't conflict in this manner? Or
>> is there some other cxf jaxrs servlet/bean classes that would allow this?
>>
>> Thanksinadvance,
>>
>> Scott
>>
>> org.apache.cxf.service.factory.ServiceConstructionException
>> at
>>
>> org.apache.cxf.jaxrs.JAXRSServerFactoryBean.create(JAXRSServerFactoryBean.java:219)
>> at
>>
>> org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet.createServerFromApplication(CXFNonSpringJaxrsServlet.java:546)
>> at
>>
>> org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet.init(CXFNonSpringJaxrsServlet.java:115)
>> at
>>
>> org.eclipse.equinox.http.servlet.internal.HttpServiceRuntimeImpl$LegacyServlet.init(HttpServiceRuntimeImpl.java:1206)
>> at
>>
>> org.eclipse.equinox.http.servlet.internal.registration.EndpointRegistration.init(EndpointRegistration.java:94)
>> at
>>
>> org.eclipse.equinox.http.servlet.internal.context.ContextController.doAddServletRegistration(ContextController.java:596)
>> at
>>
>> org.eclipse.equinox.http.servlet.internal.context.ContextController.addServletRegistration(ContextController.java:450)
>> at
>>
>> org.eclipse.equinox.http.servlet.internal.customizer.ContextServletTrackerCustomizer.addingService(ContextServletTrackerCustomizer.java:55)
>> at
>>
>> org.eclipse.equinox.http.servlet.internal.customizer.ContextServletTrackerCustomizer.addingService(ContextServletTrackerCustomizer.java:1)
>> at
>>
>> org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:941)
>> at
>>
>> org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:1)
>> at
>> org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)
>> at
>> org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229)
>> at
>>
>> org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:901)
>> at
>>
>> org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:109)
>> at
>>
>> org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:920)
>> at
>>
>> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
>> at
>>
>> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
>> at
>>
>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:862)
>> at
>>
>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:801)
>> at
>>
>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:127)
>> at
>>
>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:225)
>> at
>>
>> org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:469)
>> at
>>
>> org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:487)
>> at
>>
>> org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:1004)
>> at
>>
>> org.eclipse.equinox.http.servlet.internal.HttpServiceRuntimeImpl.registerHttpServiceServlet(HttpServiceRuntimeImpl.java:722)
>> at
>>
>> org.eclipse.equinox.http.servlet.internal.HttpServiceImpl$3.run(HttpServiceImpl.java:148)
>> at
>>
>> org.eclipse.equinox.http.servlet.internal.HttpServiceImpl$3.run(HttpServiceImpl.java:1)
>> at java.security.AccessController.doPrivileged(Native Method)
>> at
>>
>> org.eclipse.equinox.http.servlet.internal.HttpServiceImpl.registerServlet(HttpServiceImpl.java:145)
>> <stack deleted>
>> Caused by: org.apache.cxf.service.factory.ServiceConstructionException:
>> There is an endpoint already running on /.
>> at
>>
>> org.apache.cxf.jaxrs.JAXRSBindingFactory.addListener(JAXRSBindingFactory.java:86)
>> at org.apache.cxf.endpoint.ServerImpl.start(ServerImpl.java:123)
>> at
>>
>> org.apache.cxf.jaxrs.JAXRSServerFactoryBean.create(JAXRSServerFactoryBean.java:206)
>> ... 84 more
>>
>>
>>
>>
Re: multiple CXFNonSpringJaxrsServlets
Posted by David Karlsen <da...@gmail.com>.
If you have separate CxfBus'es per servlet it should work AFAIK.
Den lør. 20. okt. 2018 kl. 23:32 skrev Scott Lewis <sl...@composent.com>:
> Hi,
>
> Using OSGi HttpService, if I register more than one instance of
> CXFNonSpringJaxrsServlet...i.e. at different aliases...then I get an
> exception. For example if I have two aliases
>
> '/foo' -> instance 1 of CXFNonSpringJaxrsServlet
>
> '/bar' -> instance 2 of CXFNonSpringJaxrsServlet
>
> on the second call to httpService.registerServlet I get exception and
> stack trace below.
>
> Is there a way to create/configure/register multiple
> CXFNonSpringJaxrsServlet instances...and/or the underlying
> JAXRSServerFactoryBean so that they don't conflict in this manner? Or
> is there some other cxf jaxrs servlet/bean classes that would allow this?
>
> Thanksinadvance,
>
> Scott
>
> org.apache.cxf.service.factory.ServiceConstructionException
> at
>
> org.apache.cxf.jaxrs.JAXRSServerFactoryBean.create(JAXRSServerFactoryBean.java:219)
> at
>
> org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet.createServerFromApplication(CXFNonSpringJaxrsServlet.java:546)
> at
>
> org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet.init(CXFNonSpringJaxrsServlet.java:115)
> at
>
> org.eclipse.equinox.http.servlet.internal.HttpServiceRuntimeImpl$LegacyServlet.init(HttpServiceRuntimeImpl.java:1206)
> at
>
> org.eclipse.equinox.http.servlet.internal.registration.EndpointRegistration.init(EndpointRegistration.java:94)
> at
>
> org.eclipse.equinox.http.servlet.internal.context.ContextController.doAddServletRegistration(ContextController.java:596)
> at
>
> org.eclipse.equinox.http.servlet.internal.context.ContextController.addServletRegistration(ContextController.java:450)
> at
>
> org.eclipse.equinox.http.servlet.internal.customizer.ContextServletTrackerCustomizer.addingService(ContextServletTrackerCustomizer.java:55)
> at
>
> org.eclipse.equinox.http.servlet.internal.customizer.ContextServletTrackerCustomizer.addingService(ContextServletTrackerCustomizer.java:1)
> at
>
> org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:941)
> at
>
> org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:1)
> at
> org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)
> at
> org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229)
> at
>
> org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:901)
> at
>
> org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:109)
> at
>
> org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:920)
> at
>
> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
> at
>
> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
> at
>
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:862)
> at
>
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:801)
> at
>
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:127)
> at
>
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:225)
> at
>
> org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:469)
> at
>
> org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:487)
> at
>
> org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:1004)
> at
>
> org.eclipse.equinox.http.servlet.internal.HttpServiceRuntimeImpl.registerHttpServiceServlet(HttpServiceRuntimeImpl.java:722)
> at
>
> org.eclipse.equinox.http.servlet.internal.HttpServiceImpl$3.run(HttpServiceImpl.java:148)
> at
>
> org.eclipse.equinox.http.servlet.internal.HttpServiceImpl$3.run(HttpServiceImpl.java:1)
> at java.security.AccessController.doPrivileged(Native Method)
> at
>
> org.eclipse.equinox.http.servlet.internal.HttpServiceImpl.registerServlet(HttpServiceImpl.java:145)
> <stack deleted>
> Caused by: org.apache.cxf.service.factory.ServiceConstructionException:
> There is an endpoint already running on /.
> at
>
> org.apache.cxf.jaxrs.JAXRSBindingFactory.addListener(JAXRSBindingFactory.java:86)
> at org.apache.cxf.endpoint.ServerImpl.start(ServerImpl.java:123)
> at
>
> org.apache.cxf.jaxrs.JAXRSServerFactoryBean.create(JAXRSServerFactoryBean.java:206)
> ... 84 more
>
>
>
>
--
--
David J. M. Karlsen - http://www.linkedin.com/in/davidkarlsen