Hi Is there an example of how to define this route? I also have a need for the port to not be the default 8181 (has to do with network security).
John On Mon, Aug 5, 2013 at 1:35 AM, Freeman Fang <[email protected]> wrote: > 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] > >
