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