activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stephan Siano (JIRA)" <j...@apache.org>
Subject [jira] Updated: (AMQ-3132) Web Console fails on Equinox OSGi server
Date Mon, 17 Jan 2011 13:13:43 GMT

     [ https://issues.apache.org/jira/browse/AMQ-3132?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Stephan Siano updated AMQ-3132:
-------------------------------

    Priority: Minor  (was: Major)

> 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.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message