Re: multiple CXFNonSpringJaxrsServlets

2018-10-30 Thread David Karlsen
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 :

> 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  >:
> >
> >> 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
>  :
> 
> > 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

Re: multiple CXFNonSpringJaxrsServlets

2018-10-30 Thread Scott Lewis

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 :


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
:


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




Re: multiple CXFNonSpringJaxrsServlets

2018-10-30 Thread David Karlsen
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 :

>
> 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
> >> :
> >>
> >>> 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
> >>>
> >>>
> 

Re: multiple CXFNonSpringJaxrsServlets

2018-10-30 Thread Scott Lewis



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 
:



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) 


 

Re: multiple CXFNonSpringJaxrsServlets

2018-10-21 Thread Scott Lewis

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 :


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)

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 

Re: multiple CXFNonSpringJaxrsServlets

2018-10-21 Thread David Karlsen
If you have separate CxfBus'es per servlet it should work AFAIK.

Den lør. 20. okt. 2018 kl. 23:32 skrev Scott Lewis :

> 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)
> 
> 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


multiple CXFNonSpringJaxrsServlets

2018-10-20 Thread Scott Lewis

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)


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