7 Replies Latest reply on Jan 6, 2014 2:03 PM by shangyuwangcpb

    JBoss Fuse Web Console (viewing queues)

    peterfry

      I am using JBoss Fuse 6.0

       

      I have installed the web console using

       

      features:install webconsole

       

      enabled an admin user, and then did a restart so that

       

      http://localhost:8181/system/console

       

      works.

       

      But I was expecting the ability to see a list of Active MQ queues etc., I guess it is hidden away within some JMX hierachy but I was also expecting the activemq style web console.

       

      (Note I only found out about the web console from the following link http://fusesource.com/docs/esb/4.2/getting_started/ESBGetStartedWebConsole.html)

       

      I am using JBoss Fuse without Fabric.

       

      Thanks,

       

      Peter.

        • 1. Re: JBoss Fuse Web Console (viewing queues)
          ffang

          Hi,

           

          Use

          features:install mq-web-console

           

          and access

          http://localhost:8181/activemqweb/

          to access the mq web console, where you can view queues.

           

          Freeman

          1 of 1 people found this helpful
          • 2. Re: JBoss Fuse Web Console (viewing queues)
            peterfry

            The URL is giving a page

             

            Error!

            Exception occurred while processing this request, check the log for more information!

            What do you want to do next?

             

             

            The logs indicate a authentication error:

             

            08:43:35,319 | WARN  | tp1461538421-389 | ServletHandler                   | 90 - org.eclipse.jetty.util - 7.6.7.v20120910 | /activemqweb/index.jsp
            javax.el.ELException: java.lang.SecurityException: Authentication failed
            at javax.el.BeanELResolver.getValue(BeanELResolver.java:298)
            at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:175)
            at com.sun.el.parser.AstValue.getValue(AstValue.java:138)
            at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:206)
            at org.apache.jasper.runtime.PageContextImpl.evaluateExpression(PageContextImpl.java:1001)
            at org.apache.jsp.index_jsp._jspService(org.apache.jsp.index_jsp:51)
            at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:109)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
            at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:389)
            at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:486)
            at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:380)
            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:127)
            at org.ops4j.pax.swissbox.core.ContextClassLoaderUtils.doWithClassLoader(ContextClassLoaderUtils.java:60)
            at org.ops4j.pax.web.jsp.JspServletWrapper.service(JspServletWrapper.java:124)
            at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:652)
            at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1329)
            at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:83)
            at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
            at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1300)
            at org.apache.activemq.web.SessionFilter.doFilter(SessionFilter.java:45)
            at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1300)
            at org.apache.activemq.web.filter.ApplicationContextFilter.doFilter(ApplicationContextFilter.java:102)
            at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1300)
            at com.opensymphony.sitemesh.webapp.SiteMeshFilter.obtainContent(SiteMeshFilter.java:129)
            at com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:77)
            at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1300)
            at org.ops4j.pax.web.service.internal.WelcomeFilesFilter.doFilter(WelcomeFilesFilter.java:193)
            at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1300)
            at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:445)
            at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:70)
            at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
            at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:534)
            at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
            at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1038)
            at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:117)
            at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:374)
            at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:189)
            at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:972)
            at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
            at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:75)
            at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
            at org.eclipse.jetty.server.Server.handle(Server.java:363)
            at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:483)
            at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:920)
            at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:982)
            at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:635)
            at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
            at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
            at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:627)
            at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:51)
            at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
            at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
            at java.lang.Thread.run(Thread.java:662)
            Caused by: java.lang.SecurityException: Authentication failed
            at org.apache.karaf.management.JaasAuthenticator.authenticate(JaasAuthenticator.java:101)
            at javax.management.remote.rmi.RMIServerImpl.doNewClient(RMIServerImpl.java:213)
            at javax.management.remote.rmi.RMIServerImpl.newClient(RMIServerImpl.java:180)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:597)
            at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:303)
            at sun.rmi.transport.Transport$1.run(Transport.java:159)
            at java.security.AccessController.doPrivileged(Native Method)
            at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
            at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
            at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
            at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
            at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
            at java.lang.Thread.run(Thread.java:662)
            at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:255)
            at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:233)
            at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:142)
            at javax.management.remote.rmi.RMIServerImpl_Stub.newClient(Unknown Source)
            at javax.management.remote.rmi.RMIConnector.getConnection(RMIConnector.java:2327)
            at javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:277)
            at javax.management.remote.JMXConnectorFactory.connect(JMXConnectorFactory.java:248)
            at org.apache.activemq.web.RemoteJMXBrokerFacade.createConnection(RemoteJMXBrokerFacade.java:146)
            at org.apache.activemq.web.RemoteJMXBrokerFacade.getMBeanServerConnection(RemoteJMXBrokerFacade.java:114)
            at org.apache.activemq.web.RemoteJMXBrokerFacade.getBrokerAdmin(RemoteJMXBrokerFacade.java:88)
            at org.apache.activemq.web.RemoteJMXBrokerFacade.getBrokerName(RemoteJMXBrokerFacade.java:101)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:597)
            at javax.el.BeanELResolver.getValue(BeanELResolver.java:293)
            ... 54 more
            Caused by: javax.security.auth.login.FailedLoginException: login failed
            at org.apache.karaf.jaas.modules.properties.PropertiesLoginModule.login(PropertiesLoginModule.java:92)
            at org.apache.karaf.jaas.boot.ProxyLoginModule.login(ProxyLoginModule.java:83)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:597)
            at javax.security.auth.login.LoginContext.invoke(LoginContext.java:769)
            at javax.security.auth.login.LoginContext.access$000(LoginContext.java:186)
            at javax.security.auth.login.LoginContext$4.run(LoginContext.java:683)
            at java.security.AccessController.doPrivileged(Native Method)
            at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
            at javax.security.auth.login.LoginContext.login(LoginContext.java:579)
            at org.apache.karaf.management.JaasAuthenticator.authenticate(JaasAuthenticator.java:78)
            at javax.management.remote.rmi.RMIServerImpl.doNewClient(RMIServerImpl.java:213)
            at javax.management.remote.rmi.RMIServerImpl.newClient(RMIServerImpl.java:180)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:597)
            at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:303)
            at sun.rmi.transport.Transport$1.run(Transport.java:159)
            at java.security.AccessController.doPrivileged(Native Method)
            at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
            at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
            at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
            at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
            at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
            ... 1 more

            I have enabled the admin user.

            • 3. Re: JBoss Fuse Web Console (viewing queues)
              ffang

              Hi,

               

              Ensure you also have

              etc/org.apache.activemq.webconsole.cfg,

              and the content of this file is

               

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

              webconsole.jms.user=admin

              webconsole.jms.password=admin

              webconsole.jmx.url=service:jmx:rmi:///jndi/rmi://localhost:1099/karaf-root

              webconsole.jmx.user=admin

              webconsole.jmx.password=admin

              webconsole.jms.user=admin

              webconsole.jms.password=admin

               

              Freeman

              • 4. Re: JBoss Fuse Web Console (viewing queues)
                peterfry

                That worked, thanks.

                 

                If you are following this remember to stop and start the karaf container to pick up the changes to security configuration.

                 

                Peter.

                • 5. Re: JBoss Fuse Web Console (viewing queues)
                  shane3523

                  Hi Freeman,

                   

                  I am a new user of the fuse. Try to do the same addressed in this discussion, but couldn't find the config file, etc/org.apache.activemq.webconsole.cfg, in my installation. Do I need to do some feature install before seeing this file? I am using Fuse 6.0 downloaded from the RH site.

                   

                  Thank you,

                  Shane

                  • 6. Re: JBoss Fuse Web Console (viewing queues)
                    ffang

                    Hi,

                     

                    Yeah, install mq-web-console feature first please.

                     

                    Freeman

                    • 7. Re: JBoss Fuse Web Console (viewing queues)
                      shangyuwangcpb

                      Freeman,

                       

                      I did the install but it throws exception when I try to access the page via http://<server ip>:8181/activemqweb/. The page doesn't display correctly with the exception:

                      Error!    Exception occurred while processing this request, check the log for more information!

                       

                      The exception details can be found in the log service:

                       

                      Monday, January 06, 2014 1:46:37 PMWARN/activemqweb/index.jspJetty :: Utilitiesjavax.el.ELException: java.lang.RuntimeException: java.io.IOException: Failed to retrieve RMIServer stub: javax.naming.ServiceUnavailableException [Root exception is java.rmi.ConnectException: Connection refused to host: localhost; nested exception is: java.net.ConnectException: Connection refused]

                       

                      Thanks and appreciate your help!

                       

                      -Shane