[ 
https://issues.apache.org/jira/browse/ARTEMIS-2350?focusedWorklogId=248839&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-248839
 ]

ASF GitHub Bot logged work on ARTEMIS-2350:
-------------------------------------------

                Author: ASF GitHub Bot
            Created on: 27/May/19 13:27
            Start Date: 27/May/19 13:27
    Worklog Time Spent: 10m 
      Work Description: wy96f commented on pull request #2677: ARTEMIS-2350 Fix 
ClassNotFoundException while invoking listConsumers
URL: https://github.com/apache/activemq-artemis/pull/2677#discussion_r287790726
 
 

 ##########
 File path: 
artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/JsonUtil.java
 ##########
 @@ -275,11 +274,11 @@ public static JsonArrayBuilder toJsonArrayBuilder(byte[] 
byteArray) {
    }
 
    public static JsonArray readJsonArray(String jsonString) {
-      return Json.createReader(new StringReader(jsonString)).readArray();
 
 Review comment:
   With regard to test, we tried and it was somewhat tricky(we had to add jmx 
configurations in system property and executed "artemis run" in a standalone 
process).
   
   By the way, previous artemis server exported the jmx this way. Although we 
upgraded our server, we kept the original configs(including jmx configs) to 
make the operations more efficient and less error-prone.
 
----------------------------------------------------------------
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]


Issue Time Tracking
-------------------

    Worklog Id:     (was: 248839)
    Time Spent: 40m  (was: 0.5h)

> ClassNotFoundException while invoking ActiveMQServerControlImpl::listConsumers
> ------------------------------------------------------------------------------
>
>                 Key: ARTEMIS-2350
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-2350
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 2.8.1
>            Reporter: yangwei
>            Priority: Major
>          Time Spent: 40m
>  Remaining Estimate: 0h
>
> 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 load JsonProvider in 
> the SystemClassLoader. Use JsonLoader::createReader instead where 
> JsonProvider is loaded in the UrlClassLoader.
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to