Hi,

I assume you deploy the camel router in OSGi container, if so we recommend to 
use http-osgi(which use http OSGi service provided by pax-web based on jetty) 
transport but not the standalone jetty transport for CXF endpoint.

Use relative address but not the absolute address can do the trick, so your 
CXF_RS_ENDPOINT_URI  should be like cxfrs:///rest/...  and you can use 
http://localhost:8181/cxf/rest… to access the endpoint by default.

-------------
Freeman(Yue) Fang

Red Hat, Inc. 
FuseSource is now part of Red Hat
Web: http://fusesource.com | http://www.redhat.com/
Twitter: freemanfang
Blog: http://freemanfang.blogspot.com
http://blog.sina.com.cn/u/1473905042
weibo: @Freeman小屋



On 2013-8-5, at 上午8:26, John D. Ament wrote:

> Hi all
> 
> I am deploying multiple REST services, uniquely bound to URIs but on the
> same port.  E.g.:
> 
> final String CXF_RS_ENDPOINT_URI = "cxfrs://http://0.0.0.0:9580/rest/
> "+tenantId+"/?resourceClasses=com.mycompany.cloud.RestEndpoint";
> from(CXF_RS_ENDPOINT_URI).process(...);
> 
> Now, I know I can just bind this and use a path param to process the
> tenant, but we want to have unique objects used to process each tenant's
> data (better data security).  When these start up, the following exception
> gets written to the log.  It seems like jetty is trying to recreate an
> existing port.
> 
> 20:19:21,225 | WARN  | rint Extender: 2 | MBeanContainer
> | 120 - org.eclipse.jetty.util - 7.5.4.v20111024 | bean:
> qtp15767905{8<=0<=0/254,-1}#STOPPED
> javax.management.InstanceAlreadyExistsException:
> org.eclipse.jetty.util.thread:type=queuedthreadpool,id=0
> at
> com.sun.jmx.mbeanserver.Repository.addMBean(Repository.java:437)[:1.7.0_09]
> at
> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerWithRepository(DefaultMBeanServerInterceptor.java:1898)[:1.7.0_09]
> at
> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean(DefaultMBeanServerInterceptor.java:966)[:1.7.0_09]
> at
> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:900)[:1.7.0_09]
> at
> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:324)[:1.7.0_09]
> at
> com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:512)[:1.7.0_09]
> at org.eclipse.jetty.jmx.MBeanContainer.addBean(MBeanContainer.java:300)
> at org.eclipse.jetty.jmx.MBeanContainer.add(MBeanContainer.java:148)
> at org.eclipse.jetty.util.component.Container.add(Container.java:206)
> at org.eclipse.jetty.util.component.Container.update(Container.java:92)
> at org.eclipse.jetty.server.Server.setThreadPool(Server.java:205)
> at org.eclipse.jetty.server.Server.doStart(Server.java:257)
> at
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
> at
> org.apache.cxf.transport.http_jetty.JettyHTTPServerEngine.addServant(JettyHTTPServerEngine.java:375)
> at
> org.apache.cxf.transport.http_jetty.JettyHTTPDestination.activate(JettyHTTPDestination.java:172)
> at
> org.apache.cxf.transport.AbstractObservable.setMessageObserver(AbstractObservable.java:49)[132:org.apache.cxf.cxf-api:2.6.8]
> at
> org.apache.cxf.binding.AbstractBaseBindingFactory.addListener(AbstractBaseBindingFactory.java:97)[132:org.apache.cxf.cxf-api:2.6.8]
> at
> org.apache.cxf.binding.soap.SoapBindingFactory.addListener(SoapBindingFactory.java:837)[134:org.apache.cxf.cxf-rt-bindings-soap:2.6.8]
> at
> org.apache.cxf.endpoint.ServerImpl.start(ServerImpl.java:131)[132:org.apache.cxf.cxf-api:2.6.8]
> at
> org.apache.camel.component.cxf.CxfConsumer.doStart(CxfConsumer.java:249)[173:org.apache.camel.camel-cxf:2.10.6]
> at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61)
> at
> org.apache.camel.impl.DefaultCamelContext.startService(DefaultCamelContext.java:1788)
> at
> org.apache.camel.impl.DefaultCamelContext.doStartOrResumeRouteConsumers(DefaultCamelContext.java:2084)
> at
> org.apache.camel.impl.DefaultCamelContext.doStartRouteConsumers(DefaultCamelContext.java:2020)
> at
> org.apache.camel.impl.DefaultCamelContext.safelyStartRouteServices(DefaultCamelContext.java:1948)
> at
> org.apache.camel.impl.DefaultCamelContext.doStartOrResumeRoutes(DefaultCamelContext.java:1727)
> at
> org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:1608)
> at
> org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:1475)
> at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61)
> at
> org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:1443)
> at
> org.apache.camel.blueprint.BlueprintCamelContext.start(BlueprintCamelContext.java:162)
> at
> org.apache.camel.blueprint.BlueprintCamelContext.maybeStart(BlueprintCamelContext.java:174)
> at
> org.apache.camel.blueprint.BlueprintCamelContext.serviceChanged(BlueprintCamelContext.java:132)
> at
> org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:871)
> at
> org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:733)
> at
> org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:662)
> at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:3890)
> at org.apache.felix.framework.Felix.access$000(Felix.java:79)
> at org.apache.felix.framework.Felix$2.serviceChanged(Felix.java:728)
> at
> org.apache.felix.framework.ServiceRegistry.registerService(ServiceRegistry.java:107)
> at org.apache.felix.framework.Felix.registerService(Felix.java:2979)
> at
> org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:313)
> at
> org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:287)
> at
> org.apache.camel.blueprint.BlueprintCamelContext.init(BlueprintCamelContext.java:91)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.7.0_09]
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)[:1.7.0_09]
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.7.0_09]
> at java.lang.reflect.Method.invoke(Method.java:601)[:1.7.0_09]
> at
> org.apache.aries.blueprint.utils.ReflectionUtils.invoke(ReflectionUtils.java:225)[10:org.apache.aries.blueprint:0.3.2]
> at
> org.apache.aries.blueprint.container.BeanRecipe.invoke(BeanRecipe.java:838)[10:org.apache.aries.blueprint:0.3.2]
> at
> org.apache.aries.blueprint.container.BeanRecipe.runBeanProcInit(BeanRecipe.java:638)[10:org.apache.aries.blueprint:0.3.2]
> at
> org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:726)[10:org.apache.aries.blueprint:0.3.2]
> at
> org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:64)[10:org.apache.aries.blueprint:0.3.2]
> at
> org.apache.aries.blueprint.di.RefRecipe.internalCreate(RefRecipe.java:60)[10:org.apache.aries.blueprint:0.3.2]
> at
> org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:64)[10:org.apache.aries.blueprint:0.3.2]
> at
> org.apache.aries.blueprint.container.BeanRecipe.setProperty(BeanRecipe.java:813)[10:org.apache.aries.blueprint:0.3.2]
> at
> org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:787)[10:org.apache.aries.blueprint:0.3.2]
> at
> org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:768)[10:org.apache.aries.blueprint:0.3.2]
> at
> org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:722)[10:org.apache.aries.blueprint:0.3.2]
> at
> org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:64)[10:org.apache.aries.blueprint:0.3.2]
> at
> org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:219)[10:org.apache.aries.blueprint:0.3.2]
> at
> org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:147)[10:org.apache.aries.blueprint:0.3.2]
> at
> org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:631)[10:org.apache.aries.blueprint:0.3.2]
> at
> org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:337)[10:org.apache.aries.blueprint:0.3.2]
> at
> org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:230)[10:org.apache.aries.blueprint:0.3.2]
> at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)[:1.7.0_09]
> at
> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)[:1.7.0_09]
> at java.util.concurrent.FutureTask.run(FutureTask.java:166)[:1.7.0_09]
> at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)[:1.7.0_09]
> at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)[:1.7.0_09]
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)[:1.7.0_09]
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)[:1.7.0_09]
> at java.lang.Thread.run(Thread.java:722)[:1.7.0_09]
> 20:19:21,235 | WARN  | rint Extender: 2 | MBeanContainer
> | 120 - org.eclipse.jetty.util - 7.5.4.v20111024 | bean:
> qtp15767905{8<=0<=0/254,-1}#STOPPED
> javax.management.InstanceAlreadyExistsException:
> org.eclipse.jetty.util.thread:type=queuedthreadpool,id=1
> at
> com.sun.jmx.mbeanserver.Repository.addMBean(Repository.java:437)[:1.7.0_09]
> at
> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerWithRepository(DefaultMBeanServerInterceptor.java:1898)[:1.7.0_09]
> at
> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean(DefaultMBeanServerInterceptor.java:966)[:1.7.0_09]
> at
> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:900)[:1.7.0_09]
> at
> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:324)[:1.7.0_09]
> at
> com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:512)[:1.7.0_09]
> at org.eclipse.jetty.jmx.MBeanContainer.addBean(MBeanContainer.java:300)
> at org.eclipse.jetty.util.component.Container.addBean(Container.java:177)
> at org.eclipse.jetty.server.Server.addBean(Server.java:502)
> at org.eclipse.jetty.server.Server.setThreadPool(Server.java:208)
> at org.eclipse.jetty.server.Server.doStart(Server.java:257)
> at
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
> at
> org.apache.cxf.transport.http_jetty.JettyHTTPServerEngine.addServant(JettyHTTPServerEngine.java:375)
> at
> org.apache.cxf.transport.http_jetty.JettyHTTPDestination.activate(JettyHTTPDestination.java:172)
> at
> org.apache.cxf.transport.AbstractObservable.setMessageObserver(AbstractObservable.java:49)[132:org.apache.cxf.cxf-api:2.6.8]
> at
> org.apache.cxf.binding.AbstractBaseBindingFactory.addListener(AbstractBaseBindingFactory.java:97)[132:org.apache.cxf.cxf-api:2.6.8]
> at
> org.apache.cxf.binding.soap.SoapBindingFactory.addListener(SoapBindingFactory.java:837)[134:org.apache.cxf.cxf-rt-bindings-soap:2.6.8]
> at
> org.apache.cxf.endpoint.ServerImpl.start(ServerImpl.java:131)[132:org.apache.cxf.cxf-api:2.6.8]
> at
> org.apache.camel.component.cxf.CxfConsumer.doStart(CxfConsumer.java:249)[173:org.apache.camel.camel-cxf:2.10.6]
> at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61)
> at
> org.apache.camel.impl.DefaultCamelContext.startService(DefaultCamelContext.java:1788)
> at
> org.apache.camel.impl.DefaultCamelContext.doStartOrResumeRouteConsumers(DefaultCamelContext.java:2084)
> at
> org.apache.camel.impl.DefaultCamelContext.doStartRouteConsumers(DefaultCamelContext.java:2020)
> at
> org.apache.camel.impl.DefaultCamelContext.safelyStartRouteServices(DefaultCamelContext.java:1948)
> at
> org.apache.camel.impl.DefaultCamelContext.doStartOrResumeRoutes(DefaultCamelContext.java:1727)
> at
> org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:1608)
> at
> org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:1475)
> at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61)
> at
> org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:1443)
> at
> org.apache.camel.blueprint.BlueprintCamelContext.start(BlueprintCamelContext.java:162)
> at
> org.apache.camel.blueprint.BlueprintCamelContext.maybeStart(BlueprintCamelContext.java:174)
> at
> org.apache.camel.blueprint.BlueprintCamelContext.serviceChanged(BlueprintCamelContext.java:132)
> at
> org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:871)
> at
> org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:733)
> at
> org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:662)
> at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:3890)
> at org.apache.felix.framework.Felix.access$000(Felix.java:79)
> at org.apache.felix.framework.Felix$2.serviceChanged(Felix.java:728)
> at
> org.apache.felix.framework.ServiceRegistry.registerService(ServiceRegistry.java:107)
> at org.apache.felix.framework.Felix.registerService(Felix.java:2979)
> at
> org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:313)
> at
> org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:287)
> at
> org.apache.camel.blueprint.BlueprintCamelContext.init(BlueprintCamelContext.java:91)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.7.0_09]
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)[:1.7.0_09]
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.7.0_09]
> at java.lang.reflect.Method.invoke(Method.java:601)[:1.7.0_09]
> at
> org.apache.aries.blueprint.utils.ReflectionUtils.invoke(ReflectionUtils.java:225)[10:org.apache.aries.blueprint:0.3.2]
> at
> org.apache.aries.blueprint.container.BeanRecipe.invoke(BeanRecipe.java:838)[10:org.apache.aries.blueprint:0.3.2]
> at
> org.apache.aries.blueprint.container.BeanRecipe.runBeanProcInit(BeanRecipe.java:638)[10:org.apache.aries.blueprint:0.3.2]
> at
> org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:726)[10:org.apache.aries.blueprint:0.3.2]
> at
> org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:64)[10:org.apache.aries.blueprint:0.3.2]
> at
> org.apache.aries.blueprint.di.RefRecipe.internalCreate(RefRecipe.java:60)[10:org.apache.aries.blueprint:0.3.2]
> at
> org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:64)[10:org.apache.aries.blueprint:0.3.2]
> at
> org.apache.aries.blueprint.container.BeanRecipe.setProperty(BeanRecipe.java:813)[10:org.apache.aries.blueprint:0.3.2]
> at
> org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:787)[10:org.apache.aries.blueprint:0.3.2]
> at
> org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:768)[10:org.apache.aries.blueprint:0.3.2]
> at
> org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:722)[10:org.apache.aries.blueprint:0.3.2]
> at
> org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:64)[10:org.apache.aries.blueprint:0.3.2]
> at
> org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:219)[10:org.apache.aries.blueprint:0.3.2]
> at
> org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:147)[10:org.apache.aries.blueprint:0.3.2]
> at
> org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:631)[10:org.apache.aries.blueprint:0.3.2]
> at
> org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:337)[10:org.apache.aries.blueprint:0.3.2]
> at
> org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:230)[10:org.apache.aries.blueprint:0.3.2]
> at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)[:1.7.0_09]
> at
> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)[:1.7.0_09]
> at java.util.concurrent.FutureTask.run(FutureTask.java:166)[:1.7.0_09]
> at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)[:1.7.0_09]
> at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)[:1.7.0_09]
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)[:1.7.0_09]
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)[:1.7.0_09]
> at java.lang.Thread.run(Thread.java:722)[:1.7.0_09]

Reply via email to