Matt Pavlovich created AMQ-9162:
-----------------------------------
Summary: web socket transport throws exception after being stopped
via jmx
Key: AMQ-9162
URL: https://issues.apache.org/jira/browse/AMQ-9162
Project: ActiveMQ
Issue Type: Bug
Affects Versions: 5.18.0
Reporter: Matt Pavlovich
1. Start broker
2. Stop wss transport via JMX
3. Attempt to start wss transport via JMX
4. Observe exception
{noformat}
java.lang.RuntimeException: Unable to load
org.eclipse.jetty.websocket.server.WebSocketServerFactory
at
org.eclipse.jetty.websocket.servlet.WebSocketServletFactory$Loader.load(WebSocketServletFactory.java:54)
~[websocket-servlet-9.4.48.v20220622.jar:9.4.48.v20220622]
at
org.eclipse.jetty.websocket.servlet.WebSocketServlet.init(WebSocketServlet.java:140)
~[websocket-servlet-9.4.48.v20220622.jar:9.4.48.v20220622]
at
org.apache.activemq.transport.ws.jetty9.WSServlet.init(WSServlet.java:79)
~[activemq-http-5.18.0-SNAPSHOT.jar:5.18.0-SNAPSHOT]
at javax.servlet.GenericServlet.init(GenericServlet.java:158)
~[tomcat-servlet-api-9.0.65.jar:4.0.FR]
at
org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:632)
~[jetty-servlet-9.4.48.v20220622.jar:9.4.48.v20220622]
at
org.eclipse.jetty.servlet.ServletHolder.initialize(ServletHolder.java:415)
~[jetty-servlet-9.4.48.v20220622.jar:9.4.48.v20220622]
at
org.eclipse.jetty.servlet.ServletHandler.lambda$initialize$0(ServletHandler.java:750)
~[jetty-servlet-9.4.48.v20220622.jar:9.4.48.v20220622]
at
java.util.stream.SortedOps$SizedRefSortingSink.end(SortedOps.java:357) ~[?:?]
at
java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:485) ~[?:?]
at
java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
~[?:?]
at
java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(StreamSpliterators.java:312)
~[?:?]
at
java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:735)
~[?:?]
at
java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:658)
~[?:?]
at
org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:774)
~[jetty-servlet-9.4.48.v20220622.jar:9.4.48.v20220622]
at
org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:379)
~[jetty-servlet-9.4.48.v20220622.jar:9.4.48.v20220622]
at
org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:916)
~[jetty-server-9.4.48.v20220622.jar:9.4.48.v20220622]
at
org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:288)
~[jetty-servlet-9.4.48.v20220622.jar:9.4.48.v20220622]
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
~[jetty-util-9.4.48.v20220622.jar:9.4.48.v20220622]
at
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
~[jetty-util-9.4.48.v20220622.jar:9.4.48.v20220622]
at org.eclipse.jetty.server.Server.start(Server.java:423)
~[jetty-server-9.4.48.v20220622.jar:9.4.48.v20220622]
at
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110)
~[jetty-util-9.4.48.v20220622.jar:9.4.48.v20220622]
at
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
~[jetty-server-9.4.48.v20220622.jar:9.4.48.v20220622]
at org.eclipse.jetty.server.Server.doStart(Server.java:387)
~[jetty-server-9.4.48.v20220622.jar:9.4.48.v20220622]
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
~[jetty-util-9.4.48.v20220622.jar:9.4.48.v20220622]
at
org.apache.activemq.transport.ws.WSTransportServer.doStart(WSTransportServer.java:99)
~[activemq-http-5.18.0-SNAPSHOT.jar:5.18.0-SNAPSHOT]
at
org.apache.activemq.util.ServiceSupport.start(ServiceSupport.java:55)
~[activemq-client-5.18.0-SNAPSHOT.jar:5.18.0-SNAPSHOT]
at
org.apache.activemq.broker.TransportConnector.start(TransportConnector.java:266)
~[activemq-broker-5.18.0-SNAPSHOT.jar:5.18.0-SNAPSHOT]
at
org.apache.activemq.broker.jmx.ConnectorView.start(ConnectorView.java:32)
~[activemq-broker-5.18.0-SNAPSHOT.jar:5.18.0-SNAPSHOT]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
~[?:?]
at
jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
~[?:?]
at
jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[?:?]
at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:71) ~[?:?]
at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown
Source) ~[?:?]
at
jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[?:?]
at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:260) ~[?:?]
at
com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:112)
~[?:?]
at
com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:46)
~[?:?]
at
com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:237)
~[?:?]
at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138)
~[?:?]
at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:252)
~[?:?]
at javax.management.StandardMBean.invoke(StandardMBean.java:405) ~[?:?]
at
org.apache.activemq.broker.jmx.AnnotatedMBean.invoke(AnnotatedMBean.java:246)
~[activemq-broker-5.18.0-SNAPSHOT.jar:5.18.0-SNAPSHOT]
at
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:809)
~[?:?]
at
com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) ~[?:?]
at
javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1466)
~[?:?]
at
javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1307)
~[?:?]
at
javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1399)
~[?:?]
at
javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:827)
~[?:?]
at jdk.internal.reflect.GeneratedMethodAccessor35.invoke(Unknown
Source) ~[?:?]
at
jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[?:?]
at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:359)
~[?:?]
at sun.rmi.transport.Transport$1.run(Transport.java:200) ~[?:?]
at sun.rmi.transport.Transport$1.run(Transport.java:197) ~[?:?]
at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
at sun.rmi.transport.Transport.serviceCall(Transport.java:196) ~[?:?]
at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:562) ~[?:?]
at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:796)
~[?:?]
at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:677)
~[?:?]
at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:676)
~[?:?]
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
~[?:?]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
~[?:?]
at java.lang.Thread.run(Thread.java:834) ~[?:?]
Caused by: java.lang.ClassNotFoundException:
org.eclipse.jetty.websocket.server.WebSocketServerFactory
at
jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
~[?:?]
at
jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
~[?:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[?:?]
at java.lang.Class.forName0(Native Method) ~[?:?]
at java.lang.Class.forName(Class.java:398) ~[?:?]
at
org.eclipse.jetty.websocket.servlet.WebSocketServletFactory$Loader.load(WebSocketServletFactory.java:48)
~[websocket-servlet-9.4.48.v20220622.jar:9.4.48.v20220622]
... 65 more
{noformat}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)