[
https://issues.apache.org/jira/browse/AMQ-3132?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Stephan Siano closed AMQ-3132.
------------------------------
Resolution: Won't Fix
Since this issue was not touched for more than two years, I close it.
> Web Console fails on Equinox OSGi server
> ----------------------------------------
>
> Key: AMQ-3132
> URL: https://issues.apache.org/jira/browse/AMQ-3132
> Project: ActiveMQ
> Issue Type: Bug
> Affects Versions: 5.4.2
> Reporter: Stephan Siano
> Priority: Minor
>
> I tried to run the activemq-web-console bundle on an equinox based OSGi
> runtime. Essentially I was following the description on the web console
> section of the http://activemq.apache.org/osgi-integration.html page. However
> when I try to access any of the pages, I get an exception:
> 15:09:30.736 WARN [qtp1617610261-54] org.eclipse.jetty.util.log
> [Slf4jLog.java:50] - /activemqweb/index.jsp
> javax.el.ELException: Error reading 'brokerName' on type
> org.apache.activemq.web.RemoteJMXBrokerFacade
> at javax.el.BeanELResolver.getValue(BeanELResolver.java:66) ~[na:na]
> at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)
> ~[na:na]
> at org.apache.el.parser.AstValue.getValue(AstValue.java:118) ~[na:na]
> at
> org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
> ~[na:na]
> at
> org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:925)
> ~[na:na]
> at org.apache.jsp.index_jsp._jspService(index_jsp.java:75) ~[na:na]
> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
> ~[na:na]
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
> ~[org.apache.geronimo.specs.geronimo-servlet_2.5_spec-1.1.1.jar:1.1.1]
> at
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
> ~[na:na]
> at
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
> ~[na:na]
> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
> ~[na:na]
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
> ~[org.apache.geronimo.specs.geronimo-servlet_2.5_spec-1.1.1.jar:1.1.1]
> at
> org.ops4j.pax.web.jsp.JspServletWrapper$2.call(JspServletWrapper.java:132)
> ~[na:na]
> at
> org.ops4j.pax.web.jsp.JspServletWrapper$2.call(JspServletWrapper.java:127)
> ~[na:na]
> at
> org.ops4j.pax.swissbox.core.ContextClassLoaderUtils.doWithClassLoader(ContextClassLoaderUtils.java:60)
> ~[na:na]
> at
> org.ops4j.pax.web.jsp.JspServletWrapper.service(JspServletWrapper.java:124)
> ~[na:na]
> at
> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:527)
> ~[na:na]
> at
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1216)
> ~[na:na]
> at
> org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:83)
> ~[spring-web-3.0.3.RELEASE.jar:3.0.3.RELEASE]
> at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
> ~[spring-web-3.0.3.RELEASE.jar:3.0.3.RELEASE]
> at
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1187)
> ~[na:na]
> at
> org.apache.activemq.web.SessionFilter.doFilter(SessionFilter.java:45)
> ~[activemq-web-5.4.2.jar:5.4.2]
> at
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1187)
> ~[na:na]
> at
> org.apache.activemq.web.filter.ApplicationContextFilter.doFilter(ApplicationContextFilter.java:81)
> ~[bundlefile:5.4.2]
> at
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1187)
> ~[na:na]
> at
> com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118)
> ~[sitemesh-2.2.1.jar:na]
> at
> com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52)
> ~[sitemesh-2.2.1.jar:na]
> at
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1187)
> ~[na:na]
> at
> org.ops4j.pax.web.service.internal.WelcomeFilesFilter.doFilter(WelcomeFilesFilter.java:169)
> ~[na:na]
> at
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1187)
> ~[na:na]
> at
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:421)
> ~[na:na]
> at
> org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:65)
> ~[na:na]
> at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
> ~[na:na]
> at
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:493)
> ~[na:na]
> at
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:225)
> ~[na:na]
> at
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:930)
> ~[na:na]
> at
> org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:116)
> ~[na:na]
> at
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:358)
> ~[na:na]
> at
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:183)
> ~[na:na]
> at
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:866)
> ~[na:na]
> at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
> ~[na:na]
> at
> org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:72)
> ~[na:na]
> at
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:113)
> ~[na:na]
> at org.eclipse.jetty.server.Server.handle(Server.java:351) ~[na:na]
> at
> org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:594)
> ~[na:na]
> at
> org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:1042)
> ~[na:na]
> at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:549)
> ~[na:na]
> at
> org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:211) ~[na:na]
> at
> org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:424)
> ~[na:na]
> at
> org.eclipse.jetty.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:506)
> ~[na:na]
> at
> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:436)
> ~[na:na]
> at java.lang.Thread.run(Unknown Source) ~[na:1.6.0_22]
> 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)
> ~[activemq-web-5.4.2.jar:5.4.2]
> at
> org.apache.activemq.web.RemoteJMXBrokerFacade.getMBeanServerConnection(RemoteJMXBrokerFacade.java:114)
> ~[activemq-web-5.4.2.jar:5.4.2]
> at
> org.apache.activemq.web.RemoteJMXBrokerFacade.getBrokerAdmin(RemoteJMXBrokerFacade.java:88)
> ~[activemq-web-5.4.2.jar:5.4.2]
> at
> org.apache.activemq.web.RemoteJMXBrokerFacade.getBrokerName(RemoteJMXBrokerFacade.java:101)
> ~[activemq-web-5.4.2.jar:5.4.2]
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[na:na]
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> ~[na:na]
> at java.lang.reflect.Method.invoke(Unknown Source) ~[na:1.6.0_22]
> at javax.el.BeanELResolver.getValue(BeanELResolver.java:62) ~[na:na]
> ... 51 common frames omitted
> 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(Unknown Source)
> ~[na:na]
> at javax.management.remote.JMXConnectorFactory.connect(Unknown Source)
> ~[na:1.6.0_22]
> at
> org.apache.activemq.web.RemoteJMXBrokerFacade.createConnection(RemoteJMXBrokerFacade.java:146)
> ~[activemq-web-5.4.2.jar:5.4.2]
> ... 59 common frames omitted
> Caused by: javax.naming.CommunicationException: null
> at com.sun.jndi.rmi.registry.RegistryContext.lookup(Unknown Source)
> ~[na:1.6.0_22]
> at com.sun.jndi.toolkit.url.GenericURLContext.lookup(Unknown Source)
> ~[na:1.6.0_22]
> at javax.naming.InitialContext.lookup(Unknown Source) ~[na:1.6.0_22]
> at javax.management.remote.rmi.RMIConnector.findRMIServerJNDI(Unknown
> Source) ~[na:na]
> at javax.management.remote.rmi.RMIConnector.findRMIServer(Unknown
> Source) ~[na:na]
> ... 62 common frames omitted
> 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) ~[na:na]
> ... 67 common frames omitted
> Caused by: java.lang.ClassNotFoundException:
> javax.management.remote.rmi.RMIServerImpl_Stub (no security manager: RMI
> class loader disabled)
> at sun.rmi.server.LoaderHandler.loadClass(Unknown Source) ~[na:na]
> at sun.rmi.server.LoaderHandler.loadClass(Unknown Source) ~[na:na]
> at java.rmi.server.RMIClassLoader$2.loadClass(Unknown Source)
> ~[na:1.6.0_22]
> at java.rmi.server.RMIClassLoader.loadClass(Unknown Source)
> ~[na:1.6.0_22]
> at sun.rmi.server.MarshalInputStream.resolveClass(Unknown Source)
> ~[na:na]
> at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
> ~[na:1.6.0_22]
> at java.io.ObjectInputStream.readClassDesc(Unknown Source)
> ~[na:1.6.0_22]
> at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
> ~[na:1.6.0_22]
> at java.io.ObjectInputStream.readObject0(Unknown Source) ~[na:1.6.0_22]
> at java.io.ObjectInputStream.readObject(Unknown Source) ~[na:1.6.0_22]
> ... 68 common frames omitted
> This exception essentially says that the RMIServerImpl_Stub from the
> javax.management.remote.rmi package (this is from the JRE) is not available
> to the bundle, which is not so surprising because the bundle does not import
> that package.
> I have also tested this with karaf and it works there, though I have no clue
> why it works, probably it is using the RMI class loader which is probably
> unwanted for a JDK provided class.
> As a workaround I added javax.management.remote.rmi to bootdelegation and it
> works now, however in my opinion this should be added to the manifest of the
> war file (this is defined in activemq-web-console/pom.xml).
--
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