You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "james strachan (JIRA)" <ji...@apache.org> on 2012/11/14 18:12:13 UTC

[jira] [Created] (AMQ-4177) browseMessages() fails when using Jolokia to browse JMX

james strachan created AMQ-4177:
-----------------------------------

             Summary: browseMessages() fails when using Jolokia to browse JMX
                 Key: AMQ-4177
                 URL: https://issues.apache.org/jira/browse/AMQ-4177
             Project: ActiveMQ
          Issue Type: Improvement
         Environment: 5.7.0
            Reporter: james strachan
            Priority: Minor


I tried using Jolokia to browse the JSON view of JMX for ActiveMQ. Things generally worked great, however the browseMessages() function causes issues with the Jolokia JSON marshaller - it seems we return beans which are not really usable as is. Not sure how easy this is to fix...

Here's the stack trace when browsing a queue called 'cheese' on a JVM running ActiveMQ and jolokia servlet such as with a URL like: 
http://localhost:8080/jolokia/exec/org.apache.activemq:BrokerName=localhost,Destination=cheese,Type=Queue/browseMessages()
{code}
{
error_type: "java.lang.IllegalStateException",
error: "java.lang.IllegalStateException : Error while extracting metaData from ActiveMQConnection {id=ID:stracmac.home-58797-1352910163300-7:1,clientId=ID:stracmac.home-58797-1352910163300-6:1,started=false}",
status: 500,
stacktrace: "java.lang.IllegalStateException: Error while extracting metaData from ActiveMQConnection {id=ID:stracmac.home-58797-1352910163300-7:1,clientId=ID:stracmac.home-58797-1352910163300-6:1,started=false} at org.jolokia.converter.json.BeanExtractor.extractBeanPropertyValue(BeanExtractor.java:242) at org.jolokia.converter.json.BeanExtractor.extractJsonifiedPropertyValue(BeanExtractor.java:161) at org.jolokia.converter.json.BeanExtractor.exctractJsonifiedValue(BeanExtractor.java:147) at org.jolokia.converter.json.BeanExtractor.extractObject(BeanExtractor.java:78) at org.jolokia.converter.json.ObjectToJsonConverter.callHandler(ObjectToJsonConverter.java:351) at org.jolokia.converter.json.ObjectToJsonConverter.extractObject(ObjectToJsonConverter.java:181) at org.jolokia.converter.json.BeanExtractor.extractJsonifiedPropertyValue(BeanExtractor.java:169) at org.jolokia.converter.json.BeanExtractor.exctractJsonifiedValue(BeanExtractor.java:147) at org.jolokia.converter.json.BeanExtractor.extractObject(BeanExtractor.java:78) at org.jolokia.converter.json.ObjectToJsonConverter.callHandler(ObjectToJsonConverter.java:351) at org.jolokia.converter.json.ObjectToJsonConverter.extractObject(ObjectToJsonConverter.java:181) at org.jolokia.converter.json.ListExtractor.extractObject(ListExtractor.java:71) at org.jolokia.converter.json.ObjectToJsonConverter.callHandler(ObjectToJsonConverter.java:351) at org.jolokia.converter.json.ObjectToJsonConverter.extractObject(ObjectToJsonConverter.java:181) at org.jolokia.converter.json.ObjectToJsonConverter.extractObjectWithContext(ObjectToJsonConverter.java:144) at org.jolokia.converter.json.ObjectToJsonConverter.convertToJson(ObjectToJsonConverter.java:116) at org.jolokia.backend.BackendManager.callRequestDispatcher(BackendManager.java:340) at org.jolokia.backend.BackendManager.handleRequest(BackendManager.java:140) at org.jolokia.http.HttpRequestHandler.executeRequest(HttpRequestHandler.java:175) at org.jolokia.http.HttpRequestHandler.handleGetRequest(HttpRequestHandler.java:79) at org.jolokia.http.AgentServlet$3.handleRequest(AgentServlet.java:296) at org.jolokia.http.AgentServlet.handle(AgentServlet.java:228) at org.jolokia.http.AgentServlet.doGet(AgentServlet.java:193) at javax.servlet.http.HttpServlet.service(HttpServlet.java:735) at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:598) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:486) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:233) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1065) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:413) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:192) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:999) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111) at org.eclipse.jetty.server.Server.handle(Server.java:350) at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:454) at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:890) at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:944) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:630) at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:230) at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:77) at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:606) at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:46) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:603) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:538) at java.lang.Thread.run(Thread.java:722) Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.jolokia.converter.json.BeanExtractor.extractBeanPropertyValue(BeanExtractor.java:237) ... 47 more Caused by: org.apache.activemq.ConnectionClosedException: The connection is already closed at org.apache.activemq.ActiveMQConnection.checkClosed(ActiveMQConnection.java:1462) at org.apache.activemq.ActiveMQConnection.checkClosedOrFailed(ActiveMQConnection.java:1449) at org.apache.activemq.ActiveMQConnection.getMetaData(ActiveMQConnection.java:432) ... 52 more "
}{code}


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (AMQ-4177) browseMessages() fails when using Jolokia to browse JMX

Posted by "Rob Davies (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AMQ-4177?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rob Davies updated AMQ-4177:
----------------------------

    Assignee: Rob Davies
    
> browseMessages() fails when using Jolokia to browse JMX
> -------------------------------------------------------
>
>                 Key: AMQ-4177
>                 URL: https://issues.apache.org/jira/browse/AMQ-4177
>             Project: ActiveMQ
>          Issue Type: Improvement
>         Environment: 5.7.0
>            Reporter: james strachan
>            Assignee: Rob Davies
>            Priority: Minor
>
> I tried using Jolokia to browse the JSON view of JMX for ActiveMQ. Things generally worked great, however the browseMessages() function causes issues with the Jolokia JSON marshaller - it seems we return beans which are not really usable as is. Not sure how easy this is to fix...
> NOTE the browse() works fine; I wasn't sure if all bean properties were properly exposed in the CompositeData browse() function - so not sure how big a deal not having browseMessages() is...
> Here's the stack trace when browsing a queue called 'cheese' on a JVM running ActiveMQ and jolokia servlet such as with a URL like: 
> http://localhost:8080/jolokia/exec/org.apache.activemq:BrokerName=localhost,Destination=cheese,Type=Queue/browseMessages()
> The offending bit of the stack trace is: org.apache.activemq.ConnectionClosedException: The connection is already closed at org.apache.activemq.ActiveMQConnection.checkClosed(ActiveMQConnection.java:1462) at 
> I guess there's a connection property or something on the message maybe?
> {code}
> {
> error_type: "java.lang.IllegalStateException",
> error: "java.lang.IllegalStateException : Error while extracting metaData from ActiveMQConnection {id=ID:stracmac.home-58797-1352910163300-7:1,clientId=ID:stracmac.home-58797-1352910163300-6:1,started=false}",
> status: 500,
> stacktrace: "java.lang.IllegalStateException: Error while extracting metaData from ActiveMQConnection {id=ID:stracmac.home-58797-1352910163300-7:1,clientId=ID:stracmac.home-58797-1352910163300-6:1,started=false} at org.jolokia.converter.json.BeanExtractor.extractBeanPropertyValue(BeanExtractor.java:242) at org.jolokia.converter.json.BeanExtractor.extractJsonifiedPropertyValue(BeanExtractor.java:161) at org.jolokia.converter.json.BeanExtractor.exctractJsonifiedValue(BeanExtractor.java:147) at org.jolokia.converter.json.BeanExtractor.extractObject(BeanExtractor.java:78) at org.jolokia.converter.json.ObjectToJsonConverter.callHandler(ObjectToJsonConverter.java:351) at org.jolokia.converter.json.ObjectToJsonConverter.extractObject(ObjectToJsonConverter.java:181) at org.jolokia.converter.json.BeanExtractor.extractJsonifiedPropertyValue(BeanExtractor.java:169) at org.jolokia.converter.json.BeanExtractor.exctractJsonifiedValue(BeanExtractor.java:147) at org.jolokia.converter.json.BeanExtractor.extractObject(BeanExtractor.java:78) at org.jolokia.converter.json.ObjectToJsonConverter.callHandler(ObjectToJsonConverter.java:351) at org.jolokia.converter.json.ObjectToJsonConverter.extractObject(ObjectToJsonConverter.java:181) at org.jolokia.converter.json.ListExtractor.extractObject(ListExtractor.java:71) at org.jolokia.converter.json.ObjectToJsonConverter.callHandler(ObjectToJsonConverter.java:351) at org.jolokia.converter.json.ObjectToJsonConverter.extractObject(ObjectToJsonConverter.java:181) at org.jolokia.converter.json.ObjectToJsonConverter.extractObjectWithContext(ObjectToJsonConverter.java:144) at org.jolokia.converter.json.ObjectToJsonConverter.convertToJson(ObjectToJsonConverter.java:116) at org.jolokia.backend.BackendManager.callRequestDispatcher(BackendManager.java:340) at org.jolokia.backend.BackendManager.handleRequest(BackendManager.java:140) at org.jolokia.http.HttpRequestHandler.executeRequest(HttpRequestHandler.java:175) at org.jolokia.http.HttpRequestHandler.handleGetRequest(HttpRequestHandler.java:79) at org.jolokia.http.AgentServlet$3.handleRequest(AgentServlet.java:296) at org.jolokia.http.AgentServlet.handle(AgentServlet.java:228) at org.jolokia.http.AgentServlet.doGet(AgentServlet.java:193) at javax.servlet.http.HttpServlet.service(HttpServlet.java:735) at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:598) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:486) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:233) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1065) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:413) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:192) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:999) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111) at org.eclipse.jetty.server.Server.handle(Server.java:350) at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:454) at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:890) at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:944) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:630) at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:230) at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:77) at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:606) at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:46) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:603) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:538) at java.lang.Thread.run(Thread.java:722) Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.jolokia.converter.json.BeanExtractor.extractBeanPropertyValue(BeanExtractor.java:237) ... 47 more Caused by: org.apache.activemq.ConnectionClosedException: The connection is already closed at org.apache.activemq.ActiveMQConnection.checkClosed(ActiveMQConnection.java:1462) at org.apache.activemq.ActiveMQConnection.checkClosedOrFailed(ActiveMQConnection.java:1449) at org.apache.activemq.ActiveMQConnection.getMetaData(ActiveMQConnection.java:432) ... 52 more "
> }{code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (AMQ-4177) browseMessages() fails when using Jolokia to browse JMX

Posted by "james strachan (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AMQ-4177?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

james strachan updated AMQ-4177:
--------------------------------

    Description: 
I tried using Jolokia to browse the JSON view of JMX for ActiveMQ. Things generally worked great, however the browseMessages() function causes issues with the Jolokia JSON marshaller - it seems we return beans which are not really usable as is. Not sure how easy this is to fix...

NOTE the browse() works fine; I wasn't sure if all bean properties were properly exposed in the CompositeData browse() function - so not sure how big a deal not having browseMessages() is...

Here's the stack trace when browsing a queue called 'cheese' on a JVM running ActiveMQ and jolokia servlet such as with a URL like: 
http://localhost:8080/jolokia/exec/org.apache.activemq:BrokerName=localhost,Destination=cheese,Type=Queue/browseMessages()

The offending bit of the stack trace is: org.apache.activemq.ConnectionClosedException: The connection is already closed at org.apache.activemq.ActiveMQConnection.checkClosed(ActiveMQConnection.java:1462) at 

I guess there's a connection property or something on the message maybe?

{code}
{
error_type: "java.lang.IllegalStateException",
error: "java.lang.IllegalStateException : Error while extracting metaData from ActiveMQConnection {id=ID:stracmac.home-58797-1352910163300-7:1,clientId=ID:stracmac.home-58797-1352910163300-6:1,started=false}",
status: 500,
stacktrace: "java.lang.IllegalStateException: Error while extracting metaData from ActiveMQConnection {id=ID:stracmac.home-58797-1352910163300-7:1,clientId=ID:stracmac.home-58797-1352910163300-6:1,started=false} at org.jolokia.converter.json.BeanExtractor.extractBeanPropertyValue(BeanExtractor.java:242) at org.jolokia.converter.json.BeanExtractor.extractJsonifiedPropertyValue(BeanExtractor.java:161) at org.jolokia.converter.json.BeanExtractor.exctractJsonifiedValue(BeanExtractor.java:147) at org.jolokia.converter.json.BeanExtractor.extractObject(BeanExtractor.java:78) at org.jolokia.converter.json.ObjectToJsonConverter.callHandler(ObjectToJsonConverter.java:351) at org.jolokia.converter.json.ObjectToJsonConverter.extractObject(ObjectToJsonConverter.java:181) at org.jolokia.converter.json.BeanExtractor.extractJsonifiedPropertyValue(BeanExtractor.java:169) at org.jolokia.converter.json.BeanExtractor.exctractJsonifiedValue(BeanExtractor.java:147) at org.jolokia.converter.json.BeanExtractor.extractObject(BeanExtractor.java:78) at org.jolokia.converter.json.ObjectToJsonConverter.callHandler(ObjectToJsonConverter.java:351) at org.jolokia.converter.json.ObjectToJsonConverter.extractObject(ObjectToJsonConverter.java:181) at org.jolokia.converter.json.ListExtractor.extractObject(ListExtractor.java:71) at org.jolokia.converter.json.ObjectToJsonConverter.callHandler(ObjectToJsonConverter.java:351) at org.jolokia.converter.json.ObjectToJsonConverter.extractObject(ObjectToJsonConverter.java:181) at org.jolokia.converter.json.ObjectToJsonConverter.extractObjectWithContext(ObjectToJsonConverter.java:144) at org.jolokia.converter.json.ObjectToJsonConverter.convertToJson(ObjectToJsonConverter.java:116) at org.jolokia.backend.BackendManager.callRequestDispatcher(BackendManager.java:340) at org.jolokia.backend.BackendManager.handleRequest(BackendManager.java:140) at org.jolokia.http.HttpRequestHandler.executeRequest(HttpRequestHandler.java:175) at org.jolokia.http.HttpRequestHandler.handleGetRequest(HttpRequestHandler.java:79) at org.jolokia.http.AgentServlet$3.handleRequest(AgentServlet.java:296) at org.jolokia.http.AgentServlet.handle(AgentServlet.java:228) at org.jolokia.http.AgentServlet.doGet(AgentServlet.java:193) at javax.servlet.http.HttpServlet.service(HttpServlet.java:735) at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:598) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:486) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:233) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1065) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:413) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:192) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:999) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111) at org.eclipse.jetty.server.Server.handle(Server.java:350) at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:454) at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:890) at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:944) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:630) at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:230) at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:77) at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:606) at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:46) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:603) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:538) at java.lang.Thread.run(Thread.java:722) Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.jolokia.converter.json.BeanExtractor.extractBeanPropertyValue(BeanExtractor.java:237) ... 47 more Caused by: org.apache.activemq.ConnectionClosedException: The connection is already closed at org.apache.activemq.ActiveMQConnection.checkClosed(ActiveMQConnection.java:1462) at org.apache.activemq.ActiveMQConnection.checkClosedOrFailed(ActiveMQConnection.java:1449) at org.apache.activemq.ActiveMQConnection.getMetaData(ActiveMQConnection.java:432) ... 52 more "
}{code}


  was:
I tried using Jolokia to browse the JSON view of JMX for ActiveMQ. Things generally worked great, however the browseMessages() function causes issues with the Jolokia JSON marshaller - it seems we return beans which are not really usable as is. Not sure how easy this is to fix...

Here's the stack trace when browsing a queue called 'cheese' on a JVM running ActiveMQ and jolokia servlet such as with a URL like: 
http://localhost:8080/jolokia/exec/org.apache.activemq:BrokerName=localhost,Destination=cheese,Type=Queue/browseMessages()
{code}
{
error_type: "java.lang.IllegalStateException",
error: "java.lang.IllegalStateException : Error while extracting metaData from ActiveMQConnection {id=ID:stracmac.home-58797-1352910163300-7:1,clientId=ID:stracmac.home-58797-1352910163300-6:1,started=false}",
status: 500,
stacktrace: "java.lang.IllegalStateException: Error while extracting metaData from ActiveMQConnection {id=ID:stracmac.home-58797-1352910163300-7:1,clientId=ID:stracmac.home-58797-1352910163300-6:1,started=false} at org.jolokia.converter.json.BeanExtractor.extractBeanPropertyValue(BeanExtractor.java:242) at org.jolokia.converter.json.BeanExtractor.extractJsonifiedPropertyValue(BeanExtractor.java:161) at org.jolokia.converter.json.BeanExtractor.exctractJsonifiedValue(BeanExtractor.java:147) at org.jolokia.converter.json.BeanExtractor.extractObject(BeanExtractor.java:78) at org.jolokia.converter.json.ObjectToJsonConverter.callHandler(ObjectToJsonConverter.java:351) at org.jolokia.converter.json.ObjectToJsonConverter.extractObject(ObjectToJsonConverter.java:181) at org.jolokia.converter.json.BeanExtractor.extractJsonifiedPropertyValue(BeanExtractor.java:169) at org.jolokia.converter.json.BeanExtractor.exctractJsonifiedValue(BeanExtractor.java:147) at org.jolokia.converter.json.BeanExtractor.extractObject(BeanExtractor.java:78) at org.jolokia.converter.json.ObjectToJsonConverter.callHandler(ObjectToJsonConverter.java:351) at org.jolokia.converter.json.ObjectToJsonConverter.extractObject(ObjectToJsonConverter.java:181) at org.jolokia.converter.json.ListExtractor.extractObject(ListExtractor.java:71) at org.jolokia.converter.json.ObjectToJsonConverter.callHandler(ObjectToJsonConverter.java:351) at org.jolokia.converter.json.ObjectToJsonConverter.extractObject(ObjectToJsonConverter.java:181) at org.jolokia.converter.json.ObjectToJsonConverter.extractObjectWithContext(ObjectToJsonConverter.java:144) at org.jolokia.converter.json.ObjectToJsonConverter.convertToJson(ObjectToJsonConverter.java:116) at org.jolokia.backend.BackendManager.callRequestDispatcher(BackendManager.java:340) at org.jolokia.backend.BackendManager.handleRequest(BackendManager.java:140) at org.jolokia.http.HttpRequestHandler.executeRequest(HttpRequestHandler.java:175) at org.jolokia.http.HttpRequestHandler.handleGetRequest(HttpRequestHandler.java:79) at org.jolokia.http.AgentServlet$3.handleRequest(AgentServlet.java:296) at org.jolokia.http.AgentServlet.handle(AgentServlet.java:228) at org.jolokia.http.AgentServlet.doGet(AgentServlet.java:193) at javax.servlet.http.HttpServlet.service(HttpServlet.java:735) at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:598) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:486) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:233) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1065) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:413) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:192) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:999) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111) at org.eclipse.jetty.server.Server.handle(Server.java:350) at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:454) at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:890) at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:944) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:630) at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:230) at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:77) at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:606) at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:46) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:603) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:538) at java.lang.Thread.run(Thread.java:722) Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.jolokia.converter.json.BeanExtractor.extractBeanPropertyValue(BeanExtractor.java:237) ... 47 more Caused by: org.apache.activemq.ConnectionClosedException: The connection is already closed at org.apache.activemq.ActiveMQConnection.checkClosed(ActiveMQConnection.java:1462) at org.apache.activemq.ActiveMQConnection.checkClosedOrFailed(ActiveMQConnection.java:1449) at org.apache.activemq.ActiveMQConnection.getMetaData(ActiveMQConnection.java:432) ... 52 more "
}{code}


    
> browseMessages() fails when using Jolokia to browse JMX
> -------------------------------------------------------
>
>                 Key: AMQ-4177
>                 URL: https://issues.apache.org/jira/browse/AMQ-4177
>             Project: ActiveMQ
>          Issue Type: Improvement
>         Environment: 5.7.0
>            Reporter: james strachan
>            Priority: Minor
>
> I tried using Jolokia to browse the JSON view of JMX for ActiveMQ. Things generally worked great, however the browseMessages() function causes issues with the Jolokia JSON marshaller - it seems we return beans which are not really usable as is. Not sure how easy this is to fix...
> NOTE the browse() works fine; I wasn't sure if all bean properties were properly exposed in the CompositeData browse() function - so not sure how big a deal not having browseMessages() is...
> Here's the stack trace when browsing a queue called 'cheese' on a JVM running ActiveMQ and jolokia servlet such as with a URL like: 
> http://localhost:8080/jolokia/exec/org.apache.activemq:BrokerName=localhost,Destination=cheese,Type=Queue/browseMessages()
> The offending bit of the stack trace is: org.apache.activemq.ConnectionClosedException: The connection is already closed at org.apache.activemq.ActiveMQConnection.checkClosed(ActiveMQConnection.java:1462) at 
> I guess there's a connection property or something on the message maybe?
> {code}
> {
> error_type: "java.lang.IllegalStateException",
> error: "java.lang.IllegalStateException : Error while extracting metaData from ActiveMQConnection {id=ID:stracmac.home-58797-1352910163300-7:1,clientId=ID:stracmac.home-58797-1352910163300-6:1,started=false}",
> status: 500,
> stacktrace: "java.lang.IllegalStateException: Error while extracting metaData from ActiveMQConnection {id=ID:stracmac.home-58797-1352910163300-7:1,clientId=ID:stracmac.home-58797-1352910163300-6:1,started=false} at org.jolokia.converter.json.BeanExtractor.extractBeanPropertyValue(BeanExtractor.java:242) at org.jolokia.converter.json.BeanExtractor.extractJsonifiedPropertyValue(BeanExtractor.java:161) at org.jolokia.converter.json.BeanExtractor.exctractJsonifiedValue(BeanExtractor.java:147) at org.jolokia.converter.json.BeanExtractor.extractObject(BeanExtractor.java:78) at org.jolokia.converter.json.ObjectToJsonConverter.callHandler(ObjectToJsonConverter.java:351) at org.jolokia.converter.json.ObjectToJsonConverter.extractObject(ObjectToJsonConverter.java:181) at org.jolokia.converter.json.BeanExtractor.extractJsonifiedPropertyValue(BeanExtractor.java:169) at org.jolokia.converter.json.BeanExtractor.exctractJsonifiedValue(BeanExtractor.java:147) at org.jolokia.converter.json.BeanExtractor.extractObject(BeanExtractor.java:78) at org.jolokia.converter.json.ObjectToJsonConverter.callHandler(ObjectToJsonConverter.java:351) at org.jolokia.converter.json.ObjectToJsonConverter.extractObject(ObjectToJsonConverter.java:181) at org.jolokia.converter.json.ListExtractor.extractObject(ListExtractor.java:71) at org.jolokia.converter.json.ObjectToJsonConverter.callHandler(ObjectToJsonConverter.java:351) at org.jolokia.converter.json.ObjectToJsonConverter.extractObject(ObjectToJsonConverter.java:181) at org.jolokia.converter.json.ObjectToJsonConverter.extractObjectWithContext(ObjectToJsonConverter.java:144) at org.jolokia.converter.json.ObjectToJsonConverter.convertToJson(ObjectToJsonConverter.java:116) at org.jolokia.backend.BackendManager.callRequestDispatcher(BackendManager.java:340) at org.jolokia.backend.BackendManager.handleRequest(BackendManager.java:140) at org.jolokia.http.HttpRequestHandler.executeRequest(HttpRequestHandler.java:175) at org.jolokia.http.HttpRequestHandler.handleGetRequest(HttpRequestHandler.java:79) at org.jolokia.http.AgentServlet$3.handleRequest(AgentServlet.java:296) at org.jolokia.http.AgentServlet.handle(AgentServlet.java:228) at org.jolokia.http.AgentServlet.doGet(AgentServlet.java:193) at javax.servlet.http.HttpServlet.service(HttpServlet.java:735) at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:598) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:486) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:233) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1065) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:413) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:192) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:999) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111) at org.eclipse.jetty.server.Server.handle(Server.java:350) at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:454) at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:890) at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:944) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:630) at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:230) at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:77) at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:606) at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:46) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:603) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:538) at java.lang.Thread.run(Thread.java:722) Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.jolokia.converter.json.BeanExtractor.extractBeanPropertyValue(BeanExtractor.java:237) ... 47 more Caused by: org.apache.activemq.ConnectionClosedException: The connection is already closed at org.apache.activemq.ActiveMQConnection.checkClosed(ActiveMQConnection.java:1462) at org.apache.activemq.ActiveMQConnection.checkClosedOrFailed(ActiveMQConnection.java:1449) at org.apache.activemq.ActiveMQConnection.getMetaData(ActiveMQConnection.java:432) ... 52 more "
> }{code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Resolved] (AMQ-4177) browseMessages() fails when using Jolokia to browse JMX

Posted by "Rob Davies (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AMQ-4177?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rob Davies resolved AMQ-4177.
-----------------------------

       Resolution: Fixed
    Fix Version/s: 5.8.0

Fixed on trunk by SVN  revision 1410767
                
> browseMessages() fails when using Jolokia to browse JMX
> -------------------------------------------------------
>
>                 Key: AMQ-4177
>                 URL: https://issues.apache.org/jira/browse/AMQ-4177
>             Project: ActiveMQ
>          Issue Type: Improvement
>         Environment: 5.7.0
>            Reporter: james strachan
>            Assignee: Rob Davies
>            Priority: Minor
>             Fix For: 5.8.0
>
>
> I tried using Jolokia to browse the JSON view of JMX for ActiveMQ. Things generally worked great, however the browseMessages() function causes issues with the Jolokia JSON marshaller - it seems we return beans which are not really usable as is. Not sure how easy this is to fix...
> NOTE the browse() works fine; I wasn't sure if all bean properties were properly exposed in the CompositeData browse() function - so not sure how big a deal not having browseMessages() is...
> Here's the stack trace when browsing a queue called 'cheese' on a JVM running ActiveMQ and jolokia servlet such as with a URL like: 
> http://localhost:8080/jolokia/exec/org.apache.activemq:BrokerName=localhost,Destination=cheese,Type=Queue/browseMessages()
> The offending bit of the stack trace is: org.apache.activemq.ConnectionClosedException: The connection is already closed at org.apache.activemq.ActiveMQConnection.checkClosed(ActiveMQConnection.java:1462) at 
> I guess there's a connection property or something on the message maybe?
> {code}
> {
> error_type: "java.lang.IllegalStateException",
> error: "java.lang.IllegalStateException : Error while extracting metaData from ActiveMQConnection {id=ID:stracmac.home-58797-1352910163300-7:1,clientId=ID:stracmac.home-58797-1352910163300-6:1,started=false}",
> status: 500,
> stacktrace: "java.lang.IllegalStateException: Error while extracting metaData from ActiveMQConnection {id=ID:stracmac.home-58797-1352910163300-7:1,clientId=ID:stracmac.home-58797-1352910163300-6:1,started=false} at org.jolokia.converter.json.BeanExtractor.extractBeanPropertyValue(BeanExtractor.java:242) at org.jolokia.converter.json.BeanExtractor.extractJsonifiedPropertyValue(BeanExtractor.java:161) at org.jolokia.converter.json.BeanExtractor.exctractJsonifiedValue(BeanExtractor.java:147) at org.jolokia.converter.json.BeanExtractor.extractObject(BeanExtractor.java:78) at org.jolokia.converter.json.ObjectToJsonConverter.callHandler(ObjectToJsonConverter.java:351) at org.jolokia.converter.json.ObjectToJsonConverter.extractObject(ObjectToJsonConverter.java:181) at org.jolokia.converter.json.BeanExtractor.extractJsonifiedPropertyValue(BeanExtractor.java:169) at org.jolokia.converter.json.BeanExtractor.exctractJsonifiedValue(BeanExtractor.java:147) at org.jolokia.converter.json.BeanExtractor.extractObject(BeanExtractor.java:78) at org.jolokia.converter.json.ObjectToJsonConverter.callHandler(ObjectToJsonConverter.java:351) at org.jolokia.converter.json.ObjectToJsonConverter.extractObject(ObjectToJsonConverter.java:181) at org.jolokia.converter.json.ListExtractor.extractObject(ListExtractor.java:71) at org.jolokia.converter.json.ObjectToJsonConverter.callHandler(ObjectToJsonConverter.java:351) at org.jolokia.converter.json.ObjectToJsonConverter.extractObject(ObjectToJsonConverter.java:181) at org.jolokia.converter.json.ObjectToJsonConverter.extractObjectWithContext(ObjectToJsonConverter.java:144) at org.jolokia.converter.json.ObjectToJsonConverter.convertToJson(ObjectToJsonConverter.java:116) at org.jolokia.backend.BackendManager.callRequestDispatcher(BackendManager.java:340) at org.jolokia.backend.BackendManager.handleRequest(BackendManager.java:140) at org.jolokia.http.HttpRequestHandler.executeRequest(HttpRequestHandler.java:175) at org.jolokia.http.HttpRequestHandler.handleGetRequest(HttpRequestHandler.java:79) at org.jolokia.http.AgentServlet$3.handleRequest(AgentServlet.java:296) at org.jolokia.http.AgentServlet.handle(AgentServlet.java:228) at org.jolokia.http.AgentServlet.doGet(AgentServlet.java:193) at javax.servlet.http.HttpServlet.service(HttpServlet.java:735) at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:598) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:486) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:233) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1065) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:413) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:192) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:999) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111) at org.eclipse.jetty.server.Server.handle(Server.java:350) at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:454) at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:890) at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:944) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:630) at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:230) at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:77) at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:606) at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:46) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:603) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:538) at java.lang.Thread.run(Thread.java:722) Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.jolokia.converter.json.BeanExtractor.extractBeanPropertyValue(BeanExtractor.java:237) ... 47 more Caused by: org.apache.activemq.ConnectionClosedException: The connection is already closed at org.apache.activemq.ActiveMQConnection.checkClosed(ActiveMQConnection.java:1462) at org.apache.activemq.ActiveMQConnection.checkClosedOrFailed(ActiveMQConnection.java:1449) at org.apache.activemq.ActiveMQConnection.getMetaData(ActiveMQConnection.java:432) ... 52 more "
> }{code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira