John Poth created CAMEL-12082:
---------------------------------
Summary: Camel route commands should set the TCCL when working
with local camel context
Key: CAMEL-12082
URL: https://issues.apache.org/jira/browse/CAMEL-12082
Project: Camel
Issue Type: Bug
Affects Versions: 2.20.2
Reporter: John Poth
This causes class not found issues in Karaf when restarting routes for example:
{code}
13:33:50.734 WARN [pipe-camel:route-start websocket camel-context] unavailable
java.lang.RuntimeException: Unable to load
org.eclipse.jetty.websocket.server.WebSocketServerFactory
at
org.eclipse.jetty.websocket.servlet.WebSocketServletFactory$Loader.load(WebSocketServletFactory.java:53)
~[?:?]
at
org.eclipse.jetty.websocket.servlet.WebSocketServlet.init(WebSocketServlet.java:138)
~[?:?]
at javax.servlet.GenericServlet.init(GenericServlet.java:244)
~[34:javax.servlet-api:3.1.0]
at
org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:640)
[241:org.eclipse.jetty.servlet:9.3.15.v20161220]
at
org.eclipse.jetty.servlet.ServletHolder.initialize(ServletHolder.java:419)
[241:org.eclipse.jetty.servlet:9.3.15.v20161220]
at
org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:892)
[241:org.eclipse.jetty.servlet:9.3.15.v20161220]
at
org.eclipse.jetty.servlet.ServletHandler.updateMappings(ServletHandler.java:1596)
[241:org.eclipse.jetty.servlet:9.3.15.v20161220]
at
org.eclipse.jetty.servlet.ServletHandler.setServletMappings(ServletHandler.java:1684)
[241:org.eclipse.jetty.servlet:9.3.15.v20161220]
at
org.eclipse.jetty.servlet.ServletHandler.addServletWithMapping(ServletHandler.java:1027)
[241:org.eclipse.jetty.servlet:9.3.15.v20161220]
at
org.eclipse.jetty.servlet.ServletContextHandler.addServlet(ServletContextHandler.java:437)
[241:org.eclipse.jetty.servlet:9.3.15.v20161220]
at
org.apache.camel.component.websocket.WebsocketComponent.createServlet(WebsocketComponent.java:457)
[226:org.apache.camel.camel-websocket:2.21.0]
at
org.apache.camel.component.websocket.WebsocketComponent.addServlet(WebsocketComponent.java:439)
[226:org.apache.camel.camel-websocket:2.21.0]
at
org.apache.camel.component.websocket.WebsocketComponent.connect(WebsocketComponent.java:214)
[226:org.apache.camel.camel-websocket:2.21.0]
at
org.apache.camel.component.websocket.WebsocketEndpoint.connect(WebsocketEndpoint.java:123)
[226:org.apache.camel.camel-websocket:2.21.0]
at
org.apache.camel.component.websocket.WebsocketProducer.doStart(WebsocketProducer.java:84)
[226:org.apache.camel.camel-websocket:2.21.0]
at
org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61)
[54:org.apache.camel.camel-core:2.21.0]
at
org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:75)
[54:org.apache.camel.camel-core:2.21.0]
at
org.apache.camel.impl.DefaultCamelContext.deferStartService(DefaultCamelContext.java:1558)
[54:org.apache.camel.camel-core:2.21.0]
at
org.apache.camel.impl.DefaultCamelContext.doAddService(DefaultCamelContext.java:1475)
[54:org.apache.camel.camel-core:2.21.0]
at
org.apache.camel.impl.DefaultCamelContext.addService(DefaultCamelContext.java:1445)
[54:org.apache.camel.camel-core:2.21.0]
at
org.apache.camel.impl.ProducerCache.doGetProducer(ProducerCache.java:576)
[54:org.apache.camel.camel-core:2.21.0]
at
org.apache.camel.impl.ProducerCache.acquireProducer(ProducerCache.java:168)
[54:org.apache.camel.camel-core:2.21.0]
at
org.apache.camel.processor.SendProcessor.doStart(SendProcessor.java:248)
[54:org.apache.camel.camel-core:2.21.0]
at
org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61)
[54:org.apache.camel.camel-core:2.21.0]
at
org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:75)
[54:org.apache.camel.camel-core:2.21.0]
at
org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:60)
[54:org.apache.camel.camel-core:2.21.0]
at
org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:104)
[54:org.apache.camel.camel-core:2.21.0]
at
org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:90)
[54:org.apache.camel.camel-core:2.21.0]
at
org.apache.camel.processor.RedeliveryErrorHandler.doStart(RedeliveryErrorHandler.java:1472)
[54:org.apache.camel.camel-core:2.21.0]
at
org.apache.camel.support.ChildServiceSupport.start(ChildServiceSupport.java:44)
[54:org.apache.camel.camel-core:2.21.0]
at
org.apache.camel.support.ChildServiceSupport.start(ChildServiceSupport.java:31)
[54:org.apache.camel.camel-core:2.21.0]
at
org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:75)
[54:org.apache.camel.camel-core:2.21.0]
at
org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:60)
[54:org.apache.camel.camel-core:2.21.0]
at
org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:104)
[54:org.apache.camel.camel-core:2.21.0]
at
org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:90)
[54:org.apache.camel.camel-core:2.21.0]
at
org.apache.camel.processor.interceptor.DefaultChannel.doStart(DefaultChannel.java:160)
[54:org.apache.camel.camel-core:2.21.0]
at
org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61)
[54:org.apache.camel.camel-core:2.21.0]
at
org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:75)
[54:org.apache.camel.camel-core:2.21.0]
at
org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:60)
[54:org.apache.camel.camel-core:2.21.0]
at
org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:104)
[54:org.apache.camel.camel-core:2.21.0]
at
org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:62)
[54:org.apache.camel.camel-core:2.21.0]
at
org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:104)
[54:org.apache.camel.camel-core:2.21.0]
at
org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:90)
[54:org.apache.camel.camel-core:2.21.0]
at
org.apache.camel.processor.MulticastProcessor.doStart(MulticastProcessor.java:1172)
[54:org.apache.camel.camel-core:2.21.0]
at
org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61)
[54:org.apache.camel.camel-core:2.21.0]
at
org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:75)
[54:org.apache.camel.camel-core:2.21.0]
at
org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:60)
[54:org.apache.camel.camel-core:2.21.0]
at
org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:104)
[54:org.apache.camel.camel-core:2.21.0]
at
org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:90)
[54:org.apache.camel.camel-core:2.21.0]
at
org.apache.camel.processor.DelegateAsyncProcessor.doStart(DelegateAsyncProcessor.java:80)
[54:org.apache.camel.camel-core:2.21.0]
at
org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61)
[54:org.apache.camel.camel-core:2.21.0]
at
org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:75)
[54:org.apache.camel.camel-core:2.21.0]
at
org.apache.camel.impl.RouteService.startChildService(RouteService.java:370)
[54:org.apache.camel.camel-core:2.21.0]
at org.apache.camel.impl.RouteService.doWarmUp(RouteService.java:196)
[54:org.apache.camel.camel-core:2.21.0]
at org.apache.camel.impl.RouteService.warmUp(RouteService.java:145)
[54:org.apache.camel.camel-core:2.21.0]
at
org.apache.camel.impl.DefaultCamelContext.doWarmUpRoutes(DefaultCamelContext.java:3947)
[54:org.apache.camel.camel-core:2.21.0]
at
org.apache.camel.impl.DefaultCamelContext.safelyStartRouteServices(DefaultCamelContext.java:3854)
[54:org.apache.camel.camel-core:2.21.0]
at
org.apache.camel.impl.DefaultCamelContext.safelyStartRouteServices(DefaultCamelContext.java:3899)
[54:org.apache.camel.camel-core:2.21.0]
at
org.apache.camel.impl.DefaultCamelContext.startRouteService(DefaultCamelContext.java:3753)
[54:org.apache.camel.camel-core:2.21.0]
at
org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:1176)
[54:org.apache.camel.camel-core:2.21.0]
at
org.apache.camel.commands.AbstractLocalCamelController.startRoute(AbstractLocalCamelController.java:341)
[53:org.apache.camel.camel-commands-core:2.21.0]
at
org.apache.camel.commands.RouteStartCommand.executeOnRoute(RouteStartCommand.java:32)
[53:org.apache.camel.camel-commands-core:2.21.0]
at
org.apache.camel.commands.AbstractRouteCommand.execute(AbstractRouteCommand.java:56)
[53:org.apache.camel.camel-commands-core:2.21.0]
at
org.apache.camel.karaf.commands.RouteStart.execute(RouteStart.java:30)
[67:org.apache.camel.karaf.camel-karaf-commands:2.21.0]
at
org.apache.karaf.shell.impl.action.command.ActionCommand.execute(ActionCommand.java:84)
[144:org.apache.karaf.shell.core:4.2.0]
at
org.apache.karaf.shell.impl.console.osgi.secured.SecuredCommand.execute(SecuredCommand.java:68)
[144:org.apache.karaf.shell.core:4.2.0]
at
org.apache.karaf.shell.impl.console.osgi.secured.SecuredCommand.execute(SecuredCommand.java:86)
[144:org.apache.karaf.shell.core:4.2.0]
at org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:571)
[144:org.apache.karaf.shell.core:4.2.0]
at
org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:497)
[144:org.apache.karaf.shell.core:4.2.0]
at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:386)
[144:org.apache.karaf.shell.core:4.2.0]
at org.apache.felix.gogo.runtime.Pipe.doCall(Pipe.java:417)
[144:org.apache.karaf.shell.core:4.2.0]
at org.apache.felix.gogo.runtime.Pipe.call(Pipe.java:229)
[144:org.apache.karaf.shell.core:4.2.0]
at org.apache.felix.gogo.runtime.Pipe.call(Pipe.java:59)
[144:org.apache.karaf.shell.core:4.2.0]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
[?:?]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[?:?]
at java.lang.Thread.run(Thread.java:745) [?:?]
Caused by: java.lang.ClassNotFoundException:
org.eclipse.jetty.websocket.server.WebSocketServerFactory
at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[?:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:?]
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) ~[?:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:?]
at java.lang.Class.forName0(Native Method) ~[?:?]
at java.lang.Class.forName(Class.java:348) ~[?:?]
at
org.eclipse.jetty.websocket.servlet.WebSocketServletFactory$Loader.load(WebSocketServletFactory.java:47)
~[?:?]
... 76 more
{code}
I'll push a PR
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)