Return-Path: X-Original-To: apmail-activemq-dev-archive@www.apache.org Delivered-To: apmail-activemq-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 060ABD3AF for ; Sat, 17 Nov 2012 19:54:13 +0000 (UTC) Received: (qmail 22417 invoked by uid 500); 17 Nov 2012 19:54:12 -0000 Delivered-To: apmail-activemq-dev-archive@activemq.apache.org Received: (qmail 22319 invoked by uid 500); 17 Nov 2012 19:54:12 -0000 Mailing-List: contact dev-help@activemq.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@activemq.apache.org Delivered-To: mailing list dev@activemq.apache.org Received: (qmail 22308 invoked by uid 99); 17 Nov 2012 19:54:12 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 17 Nov 2012 19:54:12 +0000 Date: Sat, 17 Nov 2012 19:54:11 +0000 (UTC) From: "Rob Davies (JIRA)" To: dev@activemq.apache.org Message-ID: <1806056024.128038.1353182051999.JavaMail.jiratomcat@arcas> In-Reply-To: <1119614112.114500.1352913133790.JavaMail.jiratomcat@arcas> Subject: [jira] [Resolved] (AMQ-4177) browseMessages() fails when using Jolokia to browse JMX MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/AMQ-4177?page=3Dcom.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 =20 > 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 issue= s 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 p= roperly exposed in the CompositeData browse() function - so not sure how bi= g a deal not having browseMessages() is... > Here's the stack trace when browsing a queue called 'cheese' on a JVM run= ning ActiveMQ and jolokia servlet such as with a URL like:=20 > http://localhost:8080/jolokia/exec/org.apache.activemq:BrokerName=3Dlocal= host,Destination=3Dcheese,Type=3DQueue/browseMessages() > The offending bit of the stack trace is: org.apache.activemq.ConnectionCl= osedException: The connection is already closed at org.apache.activemq.Acti= veMQConnection.checkClosed(ActiveMQConnection.java:1462) at=20 > 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=3DID:stracmac.home-58797-1352910163300-7:1,cli= entId=3DID:stracmac.home-58797-1352910163300-6:1,started=3Dfalse}", > status: 500, > stacktrace: "java.lang.IllegalStateException: Error while extracting meta= Data from ActiveMQConnection {id=3DID:stracmac.home-58797-1352910163300-7:1= ,clientId=3DID:stracmac.home-58797-1352910163300-6:1,started=3Dfalse} at or= g.jolokia.converter.json.BeanExtractor.extractBeanPropertyValue(BeanExtract= or.java:242) at org.jolokia.converter.json.BeanExtractor.extractJsonifiedPr= opertyValue(BeanExtractor.java:161) at org.jolokia.converter.json.BeanExtra= ctor.exctractJsonifiedValue(BeanExtractor.java:147) at org.jolokia.converte= r.json.BeanExtractor.extractObject(BeanExtractor.java:78) at org.jolokia.co= nverter.json.ObjectToJsonConverter.callHandler(ObjectToJsonConverter.java:3= 51) at org.jolokia.converter.json.ObjectToJsonConverter.extractObject(Objec= tToJsonConverter.java:181) at org.jolokia.converter.json.BeanExtractor.extr= actJsonifiedPropertyValue(BeanExtractor.java:169) at org.jolokia.converter.= json.BeanExtractor.exctractJsonifiedValue(BeanExtractor.java:147) at org.jo= lokia.converter.json.BeanExtractor.extractObject(BeanExtractor.java:78) at = org.jolokia.converter.json.ObjectToJsonConverter.callHandler(ObjectToJsonCo= nverter.java:351) at org.jolokia.converter.json.ObjectToJsonConverter.extra= ctObject(ObjectToJsonConverter.java:181) at org.jolokia.converter.json.List= Extractor.extractObject(ListExtractor.java:71) at org.jolokia.converter.jso= n.ObjectToJsonConverter.callHandler(ObjectToJsonConverter.java:351) at org.= jolokia.converter.json.ObjectToJsonConverter.extractObject(ObjectToJsonConv= erter.java:181) at org.jolokia.converter.json.ObjectToJsonConverter.extract= ObjectWithContext(ObjectToJsonConverter.java:144) at org.jolokia.converter.= json.ObjectToJsonConverter.convertToJson(ObjectToJsonConverter.java:116) at= org.jolokia.backend.BackendManager.callRequestDispatcher(BackendManager.ja= va:340) at org.jolokia.backend.BackendManager.handleRequest(BackendManager.= java:140) at org.jolokia.http.HttpRequestHandler.executeRequest(HttpRequest= Handler.java:175) at org.jolokia.http.HttpRequestHandler.handleGetRequest(H= ttpRequestHandler.java:79) at org.jolokia.http.AgentServlet$3.handleRequest= (AgentServlet.java:296) at org.jolokia.http.AgentServlet.handle(AgentServle= t.java:228) at org.jolokia.http.AgentServlet.doGet(AgentServlet.java:193) a= t javax.servlet.http.HttpServlet.service(HttpServlet.java:735) at javax.ser= vlet.http.HttpServlet.service(HttpServlet.java:848) at org.eclipse.jetty.se= rvlet.ServletHolder.handle(ServletHolder.java:598) at org.eclipse.jetty.ser= vlet.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.ecli= pse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:233) a= t org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.j= ava:1065) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandle= r.java:413) at org.eclipse.jetty.server.session.SessionHandler.doScope(Sess= ionHandler.java:192) at org.eclipse.jetty.server.handler.ContextHandler.doS= cope(ContextHandler.java:999) at org.eclipse.jetty.server.handler.ScopedHan= dler.handle(ScopedHandler.java:117) at org.eclipse.jetty.server.handler.Han= dlerWrapper.handle(HandlerWrapper.java:111) at org.eclipse.jetty.server.Ser= ver.handle(Server.java:350) at org.eclipse.jetty.server.AbstractHttpConnect= ion.handleRequest(AbstractHttpConnection.java:454) at org.eclipse.jetty.ser= ver.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:890) = at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerCom= plete(AbstractHttpConnection.java:944) at org.eclipse.jetty.http.HttpParser= .parseNext(HttpParser.java:630) at org.eclipse.jetty.http.HttpParser.parseA= vailable(HttpParser.java:230) at org.eclipse.jetty.server.AsyncHttpConnecti= on.handle(AsyncHttpConnection.java:77) at org.eclipse.jetty.io.nio.SelectCh= annelEndPoint.handle(SelectChannelEndPoint.java:606) at org.eclipse.jetty.i= o.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:46) at org.ecl= ipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:603) a= t org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.jav= a:538) at java.lang.Thread.run(Thread.java:722) Caused by: java.lang.reflec= t.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0= (Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethod= AccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(De= legatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Meth= od.java:601) at org.jolokia.converter.json.BeanExtractor.extractBeanPropert= yValue(BeanExtractor.java:237) ... 47 more Caused by: org.apache.activemq.C= onnectionClosedException: The connection is already closed at org.apache.ac= tivemq.ActiveMQConnection.checkClosed(ActiveMQConnection.java:1462) at org.= apache.activemq.ActiveMQConnection.checkClosedOrFailed(ActiveMQConnection.j= ava:1449) at org.apache.activemq.ActiveMQConnection.getMetaData(ActiveMQCon= nection.java:432) ... 52 more " > }{code} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrato= rs For more information on JIRA, see: http://www.atlassian.com/software/jira