wy96f opened a new pull request #2677: ARTEMIS-2350 Fix ClassNotFoundException while invoking listConsumers URL: https://github.com/apache/activemq-artemis/pull/2677 The exception is as follows: 2019-05-22 20:27:25,842 FINE [sun.rmi.server.call] RMI TCP Connection(3)-10.49.7.20: [10.49.7.20] exception: : javax.management.RuntimeMBeanException: javax.json.JsonException: org.apache.johnzon.core.JsonProviderImpl not found at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.rethrow(DefaultMBeanServerInterceptor.java:839) [rt.jar:1.8.0_121] at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.rethrowMaybeMBeanException(DefaultMBeanServerInterceptor.java:852) [rt.jar:1.8.0_121] at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:821) [rt.jar:1.8.0_121] at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) [rt.jar:1.8.0_121] at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1468) [rt.jar:1.8.0_121] at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:76) [rt.jar:1.8.0_121] at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1309) [rt.jar:1.8.0_121] at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1401) [rt.jar:1.8.0_121] at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:829) [rt.jar:1.8.0_121] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.8.0_121] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [rt.jar:1.8.0_121] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.8.0_121] at java.lang.reflect.Method.invoke(Method.java:498) [rt.jar:1.8.0_121] at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:346) [rt.jar:1.8.0_121] at sun.rmi.transport.Transport$1.run(Transport.java:200) [rt.jar:1.8.0_121] at sun.rmi.transport.Transport$1.run(Transport.java:197) [rt.jar:1.8.0_121] at java.security.AccessController.doPrivileged(Native Method) [rt.jar:1.8.0_121] at sun.rmi.transport.Transport.serviceCall(Transport.java:196) [rt.jar:1.8.0_121] at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568) [rt.jar:1.8.0_121] at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826) [rt.jar:1.8.0_121] at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683) [rt.jar:1.8.0_121] at java.security.AccessController.doPrivileged(Native Method) [rt.jar:1.8.0_121] at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682) [rt.jar:1.8.0_121] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_121] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_121] at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_121] Caused by: javax.json.JsonException: org.apache.johnzon.core.JsonProviderImpl not found at javax.json.spi.JsonProvider.doLoadProvider(JsonProvider.java:132) at javax.json.spi.JsonProvider.provider(JsonProvider.java:64) at javax.json.Json.createReader(Json.java:68) at org.apache.activemq.artemis.api.core.JsonUtil.readJsonObject(JsonUtil.java:282) at org.apache.activemq.artemis.core.management.impl.view.ActiveMQAbstractView.setOptions(ActiveMQAbstractView.java:122) at org.apache.activemq.artemis.core.management.impl.ActiveMQServerControlImpl.listConsumers(ActiveMQServerControlImpl.java:2222) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.8.0_121] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [rt.jar:1.8.0_121] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.8.0_121] at java.lang.reflect.Method.invoke(Method.java:498) [rt.jar:1.8.0_121] at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:71) [rt.jar:1.8.0_121] at sun.reflect.GeneratedMethodAccessor12.invoke(Unknown Source) [:1.8.0_121] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.8.0_121] at java.lang.reflect.Method.invoke(Method.java:498) [rt.jar:1.8.0_121] at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:275) [rt.jar:1.8.0_121] at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:112) [rt.jar:1.8.0_121] at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:46) [rt.jar:1.8.0_121] at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:237) [rt.jar:1.8.0_121] at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138) [rt.jar:1.8.0_121] at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:252) [rt.jar:1.8.0_121] at javax.management.StandardMBean.invoke(StandardMBean.java:405) [rt.jar:1.8.0_121] at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) [rt.jar:1.8.0_121] ... 23 more Caused by: java.lang.ClassNotFoundException: org.apache.johnzon.core.JsonProviderImpl at java.net.URLClassLoader.findClass(URLClassLoader.java:381) [rt.jar:1.8.0_121] at java.lang.ClassLoader.loadClass(ClassLoader.java:424) [rt.jar:1.8.0_121] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) [rt.jar:1.8.0_121] at java.lang.ClassLoader.loadClass(ClassLoader.java:357) [rt.jar:1.8.0_121] at javax.json.spi.JsonProvider.doLoadProvider(JsonProvider.java:129) ... 44 more JsonUtil::readJsonObject uses Json::createReader which loads JsonProvider in the SystemClassLoader. Use JsonLoader::createReader instead where JsonProvider is loaded in the UrlClassLoader.
---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected] With regards, Apache Git Services
