Uploaded image for project: 'ActiveMQ'
  1. ActiveMQ
  2. AMQ-4794

activemq web console fails in karaf+equinox

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Reopened
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 5.8.0, 5.9.0
    • Fix Version/s: None
    • Component/s: OSGi/Karaf, Web Console
    • Labels:
      None
    • Environment:

      Linux 64-bit, Oracle JDK 7u40, Karaf 2.3.3

      Description

      The web console fails when using equinox.

      Steps to reproduce:

      1. Extract a stock karaf 2.3.3 installation.
      2. Set karaf.framework=equinox in etc/config.properties.
      3. Start karaf.
      4. Add the activemq feature url (5.8.0 or 5.9-SNAPSHOT).
      5. Install the activemq-broker feature.
      6. Browse to http://localhost:8181/activemqweb and see the error page.

      The karaf log shows the stack trace below.

      btw two of the links on the error page are broken, linking to http://localhost:8181/admin and /demo which are invalid even when the web console does work.

      javax.el.ELException: java.lang.RuntimeException: java.io.IOException: Failed to retrieve RMIServer stub: javax.naming.CommunicationException [Root exception is java.rmi.UnmarshalException: error unmarshalling return; nested exception is: java.lang.ClassNotFoundException: javax.management.remote.rmi.RMIServerImpl_Stub (no security manager: RMI class loader disabled)]
      at javax.el.BeanELResolver.getValue(BeanELResolver.java:298)[102:org.ops4j.pax.web.pax-web-jsp:1.1.14]
      at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:175)[102:org.ops4j.pax.web.pax-web-jsp:1.1.14]
      at com.sun.el.parser.AstValue.getValue(AstValue.java:138)[102:org.ops4j.pax.web.pax-web-jsp:1.1.14]
      at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:206)[102:org.ops4j.pax.web.pax-web-jsp:1.1.14]
      at org.apache.jasper.runtime.PageContextImpl.evaluateExpression(PageContextImpl.java:1001)[102:org.ops4j.pax.web.pax-web-jsp:1.1.14]
      at org.apache.jsp.index_jsp._jspService(org.apache.jsp.index_jsp:51)file:/home/amichai/apps/itrade/apache-karaf-2.3.3/data/pax-web-jsp/activemqweb/:
      at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:109)[102:org.ops4j.pax.web.pax-web-jsp:1.1.14]
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)[69:org.apache.geronimo.specs.geronimo-servlet_2.5_spec:1.2]
      at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:389)[102:org.ops4j.pax.web.pax-web-jsp:1.1.14]
      at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:486)[102:org.ops4j.pax.web.pax-web-jsp:1.1.14]
      at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:380)[102:org.ops4j.pax.web.pax-web-jsp:1.1.14]
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)[69:org.apache.geronimo.specs.geronimo-servlet_2.5_spec:1.2]
      at org.ops4j.pax.web.jsp.JspServletWrapper$2.call(JspServletWrapper.java:144)[102:org.ops4j.pax.web.pax-web-jsp:1.1.14]
      at org.ops4j.pax.web.jsp.JspServletWrapper$2.call(JspServletWrapper.java:139)[102:org.ops4j.pax.web.pax-web-jsp:1.1.14]
      at org.ops4j.pax.swissbox.core.ContextClassLoaderUtils.doWithClassLoader(ContextClassLoaderUtils.java:60)[102:org.ops4j.pax.web.pax-web-jsp:1.1.14]
      at org.ops4j.pax.web.jsp.JspServletWrapper.service(JspServletWrapper.java:136)[102:org.ops4j.pax.web.pax-web-jsp:1.1.14]
      at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:652)[79:org.eclipse.jetty.servlet:7.6.8.v20121106]
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1329)[79:org.eclipse.jetty.servlet:7.6.8.v20121106]
      at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:83)[107:org.apache.activemq.activemq-web-console:5.8.0]
      at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)[107:org.apache.activemq.activemq-web-console:5.8.0]
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1300)[79:org.eclipse.jetty.servlet:7.6.8.v20121106]
      at org.apache.activemq.web.SessionFilter.doFilter(SessionFilter.java:45)[107:org.apache.activemq.activemq-web-console:5.8.0]
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1300)[79:org.eclipse.jetty.servlet:7.6.8.v20121106]
      at org.apache.activemq.web.filter.ApplicationContextFilter.doFilter(ApplicationContextFilter.java:102)[107:org.apache.activemq.activemq-web-console:5.8.0]
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1300)[79:org.eclipse.jetty.servlet:7.6.8.v20121106]
      at com.opensymphony.sitemesh.webapp.SiteMeshFilter.obtainContent(SiteMeshFilter.java:129)[107:org.apache.activemq.activemq-web-console:5.8.0]
      at com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:77)[107:org.apache.activemq.activemq-web-console:5.8.0]
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1300)[79:org.eclipse.jetty.servlet:7.6.8.v20121106]
      at org.ops4j.pax.web.service.internal.WelcomeFilesFilter.doFilter(WelcomeFilesFilter.java:193)[97:org.ops4j.pax.web.pax-web-runtime:1.1.14]
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1300)[79:org.eclipse.jetty.servlet:7.6.8.v20121106]
      at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:445)[79:org.eclipse.jetty.servlet:7.6.8.v20121106]
      at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:70)[98:org.ops4j.pax.web.pax-web-jetty:1.1.14]
      at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)[77:org.eclipse.jetty.server:7.6.8.v20121106]
      at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:556)[78:org.eclipse.jetty.security:7.6.8.v20121106]
      at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)[77:org.eclipse.jetty.server:7.6.8.v20121106]
      at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1038)[77:org.eclipse.jetty.server:7.6.8.v20121106]
      at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:124)[98:org.ops4j.pax.web.pax-web-jetty:1.1.14]
      at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:374)[79:org.eclipse.jetty.servlet:7.6.8.v20121106]
      at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:189)[77:org.eclipse.jetty.server:7.6.8.v20121106]
      at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:972)[77:org.eclipse.jetty.server:7.6.8.v20121106]
      at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)[77:org.eclipse.jetty.server:7.6.8.v20121106]
      at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:81)[98:org.ops4j.pax.web.pax-web-jetty:1.1.14]
      at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)[77:org.eclipse.jetty.server:7.6.8.v20121106]
      at org.eclipse.jetty.server.Server.handle(Server.java:363)[77:org.eclipse.jetty.server:7.6.8.v20121106]
      at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:483)[77:org.eclipse.jetty.server:7.6.8.v20121106]
      at org.eclipse.jetty.server.BlockingHttpConnection.handleRequest(BlockingHttpConnection.java:53)[77:org.eclipse.jetty.server:7.6.8.v20121106]
      at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:920)[77:org.eclipse.jetty.server:7.6.8.v20121106]
      at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:982)[77:org.eclipse.jetty.server:7.6.8.v20121106]
      at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:635)[73:org.eclipse.jetty.http:7.6.8.v20121106]
      at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)[73:org.eclipse.jetty.http:7.6.8.v20121106]
      at org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:72)[77:org.eclipse.jetty.server:7.6.8.v20121106]
      at org.eclipse.jetty.server.nio.BlockingChannelConnector$BlockingChannelEndPoint.run(BlockingChannelConnector.java:298)[77:org.eclipse.jetty.server:7.6.8.v20121106]
      at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)[71:org.eclipse.jetty.util:7.6.8.v20121106]
      at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)[71:org.eclipse.jetty.util:7.6.8.v20121106]
      at java.lang.Thread.run(Thread.java:724)[:1.7.0_40]
      Caused by: java.lang.RuntimeException: java.io.IOException: Failed to retrieve RMIServer stub: javax.naming.CommunicationException [Root exception is java.rmi.UnmarshalException: error unmarshalling return; nested exception is: java.lang.ClassNotFoundException: javax.management.remote.rmi.RMIServerImpl_Stub (no security manager: RMI class loader disabled)]
      at org.apache.activemq.web.RemoteJMXBrokerFacade.createConnection(RemoteJMXBrokerFacade.java:165)[107:org.apache.activemq.activemq-web-console:5.8.0]
      at org.apache.activemq.web.RemoteJMXBrokerFacade.getMBeanServerConnection(RemoteJMXBrokerFacade.java:114)[107:org.apache.activemq.activemq-web-console:5.8.0]
      at org.apache.activemq.web.RemoteJMXBrokerFacade.getBrokerAdmin(RemoteJMXBrokerFacade.java:88)[107:org.apache.activemq.activemq-web-console:5.8.0]
      at org.apache.activemq.web.RemoteJMXBrokerFacade.getBrokerName(RemoteJMXBrokerFacade.java:101)[107:org.apache.activemq.activemq-web-console:5.8.0]
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.7.0_40]
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)[:1.7.0_40]
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.7.0_40]
      at java.lang.reflect.Method.invoke(Method.java:606)[:1.7.0_40]
      at javax.el.BeanELResolver.getValue(BeanELResolver.java:293)[102:org.ops4j.pax.web.pax-web-jsp:1.1.14]
      ... 54 more
      Caused by: java.io.IOException: Failed to retrieve RMIServer stub: javax.naming.CommunicationException [Root exception is java.rmi.UnmarshalException: error unmarshalling return; nested exception is: java.lang.ClassNotFoundException: javax.management.remote.rmi.RMIServerImpl_Stub (no security manager: RMI class loader disabled)]
      at javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:358)
      at javax.management.remote.JMXConnectorFactory.connect(JMXConnectorFactory.java:268)[:1.7.0_40]
      at org.apache.activemq.web.RemoteJMXBrokerFacade.createConnection(RemoteJMXBrokerFacade.java:146)[107:org.apache.activemq.activemq-web-console:5.8.0]
      ... 62 more
      Caused by: javax.naming.CommunicationException [Root exception is java.rmi.UnmarshalException: error unmarshalling return; nested exception is: java.lang.ClassNotFoundException: javax.management.remote.rmi.RMIServerImpl_Stub (no security manager: RMI class loader disabled)]
      at com.sun.jndi.rmi.registry.RegistryContext.lookup(RegistryContext.java:118)[:1.7.0_40]
      at com.sun.jndi.toolkit.url.GenericURLContext.lookup(GenericURLContext.java:203)[:1.7.0_40]
      at javax.naming.InitialContext.lookup(InitialContext.java:411)[:1.7.0_40]
      at javax.management.remote.rmi.RMIConnector.findRMIServerJNDI(RMIConnector.java:1925)
      at javax.management.remote.rmi.RMIConnector.findRMIServer(RMIConnector.java:1892)
      at javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:275)
      ... 64 more
      Caused by: java.rmi.UnmarshalException: error unmarshalling return; nested exception is: java.lang.ClassNotFoundException: javax.management.remote.rmi.RMIServerImpl_Stub (no security manager: RMI class loader disabled)
      at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)[:1.7.0_40]
      at com.sun.jndi.rmi.registry.RegistryContext.lookup(RegistryContext.java:114)[:1.7.0_40]
      ... 69 more
      Caused by: java.lang.ClassNotFoundException: javax.management.remote.rmi.RMIServerImpl_Stub (no security manager: RMI class loader disabled)
      at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:393)[:1.7.0_40]
      at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:185)[:1.7.0_40]
      at java.rmi.server.RMIClassLoader$2.loadClass(RMIClassLoader.java:637)[:1.7.0_40]
      at java.rmi.server.RMIClassLoader.loadClass(RMIClassLoader.java:264)[:1.7.0_40]
      at sun.rmi.server.MarshalInputStream.resolveClass(MarshalInputStream.java:214)[:1.7.0_40]
      at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1610)[:1.7.0_40]
      at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1515)[:1.7.0_40]
      at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)[:1.7.0_40]
      at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1348)[:1.7.0_40]
      at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)[:1.7.0_40]
      ... 71 more

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                jbonofre Jean-Baptiste Onofré
                Reporter:
                amichai Amichai Rothman
              • Votes:
                0 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                • Created:
                  Updated: