5 Replies Latest reply on Aug 29, 2003 7:32 PM by Jon Barnett

    [NEWBIEQ] Change jmx-console port (8080) ?

    Carlos Cajina Newbie

      Hi everyone.

      For development/testing pusposes I have to have Apache+Tomcat+JBoss+PostgreSQL on the same machine.

      Although I could change Tomcat's listening ports to avoid conflicts with JBoss, I was wondering whether is it possible to change the default jmx-console port open when JBoss is started (8080, like Tomcat's default for /manager and /admin WebApps)

      I can't seem to find where this jmx-console port is configured.

      I didn't use the JBoss-Tomcat bundle because in production enviroment Tomcat and JBoss will be on different machines.

      Any suggestions?

      Best regards,


        • 1. Re: [NEWBIEQ] Change jmx-console port (8080) ?
          Jon Barnett Master

          If you are using a JBoss 3.0.x or higher, even if you did not get a Tomcat bundle, you will have an equivalent servlet container bundle using Jetty.

          I'll assume you have one of these distributions. In your deploy directory for your run-time instance there will be a SAR deployment for the Jetty servlet container, usually server/default/deploy/jbossweb.sar or server/default/deploy/jbossweb-jetty.sar. YMMV.

          In this will be a META-INF/jboss-service.xml. This will have the default listeners for HTTP/HTTPS/AJP13. Modify the port binding values appropriately so they do not clash with existing infrastructure.

          • 2. Re: [NEWBIEQ] Change jmx-console port (8080) ?
            Carlos Cajina Newbie

            Thanks a lot for the tip jonlee!!!! It worked like a dream...

            I also found in the jboss-service.xml file that another option to change the default 8080 port would be using: java -Djetty.port=<a port number>

            Just one more tiny question: is Jetty included for management purposes or does it provide full servlet container functionality to use it, let's say, instead of Tomcat in a production enviroment?

            Again: Thanks a lot!!!

            • 3. Re: [NEWBIEQ] Change jmx-console port (8080) ?
              Jon Barnett Master

              Jetty is a full-fledged servlet engine. You will find faster and more scalable performance for your web-apps that access EJBs if you use the JBoss embedded servlet engines (either Tomcat or Jetty). The reason is that they don't perform their accesses over a network interface - servlet -> EJB is performed internal to the JVM. Also objects are not duplicated at the servlet (client) and the EJB when in the same JVM so memory usage is minimised.

              • 4. Re: [NEWBIEQ] Change jmx-console port (8080) ?
                Carlos Cajina Newbie

                You're totally right: the JBoss-Tomcat/Jetty bundle for production enviroment would be the obvious choice to deploy J2EE applications.

                I'm not familiar with Jetty buy it seems like a good Tomcat competitor and since JBoss can couple with either, What do you think should be considered to choose over the two?

                • 5. Re: [NEWBIEQ] Change jmx-console port (8080) ?
                  Jon Barnett Master

                  I like Jetty as it is lightweight, has a smaller in-memory size and has some flexibilities for complex configurations. Some people like Tomcat because of support for advanced servlet specs (most people don't use them). YMMV.

                  Try it. For advanced high-load support you may want to get the Jetty full-bundle with the SocketChannelListener with non-blocking IO - the standard JBoss 3.2.x build supports Java JDK 1.3.x and so does not have the non-blocking IO component of Java JDK 1.4.x.

                  See http://www.webperformanceinc.com/library/ServletReport/ for performance details.

                  Ultimately, your choice but Jetty is worth trying. Having choice is always good. ;)