2 Replies Latest reply on Aug 10, 2009 11:23 AM by joealex1

    Not able to run ActiveMQ Web console in Fuse 4.1.0.2

    joealex1 Newbie

      I installed ActiveMQ webconsole war file in Fuse as per http://fusesource.com/issues/browse/MB-479

       

      OPS4J Pax Web - Jsp Support (0.5.2)

      OPS4J Pax Web - Web Container (0.5.2)

      OPS4J Pax Web Extender - Whiteboard (0.5.0)

      Apache ServiceMix CXF Transport for OSGi (4.1.0.fuse)

      Apache ServiceMix Example :: CXF OSGi (4.1.0.fuse)

      OPS4J Pax Web Extender - WAR (0.5.0)

      OPS4J Pax Url - war:, war-i: (0.3.3)

      Apache ServiceMix WAR Deployer (4.1.0.fuse)

      file____d__activemq-web-console-5.3.0.4-fuse.war (0)

       

      When trying to view the Webconsole at http://localhost:8080/activemqweb getting the following error 

       

      17:45:24,450 | WARN  | emqweb/index.jsp | jetty                            | .service.internal.util.JCLLogger  118 | Nested in org.apache.jasper.JasperException: An exception occurred processing JSP page /index.jsp at line 26

      23: h2. Welcome!

       

      24:

      25:


      26: Welcome to the ActiveMQ Console of

      ${requestContext.brokerQuery.brokerName}

      (${requestContext.brokerQuery.brokerAdmin.brokerId})
      27:


      28:
      29:

       

       

      Stacktrace::

      java.lang.NullPointerException

           at org.apache.activemq.web.filter.ApplicationContextFilter$2.get(ApplicationContextFilter.java:157)

           at javax.el.MapELResolver.getValue(MapELResolver.java:51)

           at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)

           at org.apache.el.parser.AstValue.getValue(AstValue.java:114)

           at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)

           at org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:923)

           at org.apache.jsp.index_jsp._jspService(index_jsp.java:75)

           at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)

           at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)

           at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)

           at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)

           at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)

           at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)

           at org.ops4j.pax.web.jsp.JspServletWrapper$2.call(JspServletWrapper.java:132)

           at org.ops4j.pax.web.jsp.JspServletWrapper$2.call(JspServletWrapper.java:129)

           at org.ops4j.pax.swissbox.core.ContextClassLoaderUtils.doWithClassLoader(ContextClassLoaderUtils.java:60)

           at org.ops4j.pax.web.jsp.JspServletWrapper.service(JspServletWrapper.java:124)

           at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)

           at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1124)

           at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:83)

           at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

           at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1115)

           at org.apache.activemq.web.SessionFilter.doFilter(SessionFilter.java:43)

           at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1115)

           at org.apache.activemq.web.filter.ApplicationContextFilter.doFilter(ApplicationContextFilter.java:81)

           at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1115)

           at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118)

           at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52)

           at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1115)

           at org.ops4j.pax.web.service.internal.WelcomeFilesFilter.doFilter(WelcomeFilesFilter.java:176)

           at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1115)

           at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:361)

           at org.ops4j.pax.web.service.internal.HttpServiceServletHandler.handle(HttpServiceServletHandler.java:64)

           at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)

           at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)

           at org.ops4j.pax.web.service.internal.HttpServiceContext.handle(HttpServiceContext.java:108)

           at org.ops4j.pax.web.service.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:64)

           at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)

           at org.mortbay.jetty.Server.handle(Server.java:320)

           at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)

           at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:864)

           at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:533)

           at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:207)

           at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:403)

           at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)

           at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:522)

       

      I have the following in etc/system.properties

       

      org.ops4j.pax.logging.DefaultServiceLog.level=ERROR

      servicemix.name=root

      xml.catalog.files=

      webconsole.type=properties

      webconsole.jms.url=tcp://localhost:61616

      webconsole.jmx.url=service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi

      webconsole.jmx.user=smx

      webconsole.jmx.password=smx

       

      My assumption is the above settings will instruct the webapp to not start its own ActiveMQ but connect to the one in these settings

       

      Another question is - When I run a Master - Slave ActiveMQ (Fuse on Server1 and Server2) what is the best way to run the ActiveMQ Webconsole. I can run it on a completely separate tomcat also if required (ideally in Fuse itself). The webconsole.jms.url can be the failover url but webconsole.jmx.url What will that be ?