JBoss is an Open Source, standard compliant, Enterprise JavaBeans Application Server implemented in 100% Pure Java. It is usable for both development and production.

JBoss is licensed under the LGPL. Which means that you are entitled to redistribute the jboss binary (the jar) free of charge without modifications. You can distribute your code under any license you wish.

JBoss 2 is designed to be an EJB v1.1 container and server. Some parts of EJB 2.0 are supported in the 2.4.x versions, for example Message Driven Beans. JBoss 3.x supports EJB v2.0 including Container Managed Persistence.

JBoss comes bundled with Jakarta Tomcat or Jetty to serve web pages, JSP pages and Servlets. JBoss can be run on different machines.

There is no requirement for root access to run JBoss as none of the default ports are below the 1024 priveledged port range. JBoss will run very effectively on a machine with 64 megabytes of RAM, and requires only a few megabytes of disk (including source code!). One of the nicest features of JBoss is its support for "hot" deployment. What this means is that deploying a Bean is a simple as copying its JAR file into the deployment directory. If this is done while the Bean is already loaded, JBoss automatically unloads it, then loads the new version. There is a built-in SQL database server for handling persistent beans, and this starts up automatically with the server.

The latest JBoss version can be downloaded from: http://labs.jboss.com

Installing JBoss 3.2.3

JBoss 3.2.3 contains:
Apache Tomcat/4.1.29

Operating system used
Windows XP Home Edition Version 5.1 SP 2

Software prerequisites
J2SE version 1.3.1 or higher (1.4.2 or higher is recommended)

  1. Download and unzip jboss-3.2.3.zip

  2. Within directory ..\jboss-3.2.3\server, there are three example configurations: all, default and minimal, each of which installs a different set of services.

    minimal: which is the bare minimum to start JBoss. It contains logging, JNDI server and URL deployment scanner to find new deployments. There is no web container, no EJB container or JMS.

    default: which is the default server environment that is started when no server parameter is specified in the run script. It contains everything you need to run a stand-alone J2EE server. It does not include RMI/IIOP, clustering services and the web-services deployer. If you do no know which configuration to use, I recommend to use default.

    all: contains all available services.

    To start jboss: ..\jboss-3.2.3\bin\run.bat [-c {minimal | default | all}]
    Note: If you omit the server parameter [-c {minimal | default | all}], the default configuration is used.

    After startup, you should see:
    xxx INFO [Server] JBoss JBoss (MX MicroKernel) [3.2.3 (build: CVSTag=JBoss_3_2_3 date=200311301445)] Started in xxx

  3. The configuration "out-of-the-box" does not have a web application running in the so called "root context". This means that you will get an error 500 when you try to access: http://localhost:8080

    However the configuration "out-of-the-box" does have the following applications running:

    JBoss Management Console http://localhost:8080/jmx-console
    JBoss Web Console http://localhost:8080/web-console

    Note: If you want to change the port number 8080:
    • Edit file: ..\jboss-3.2.3\server\{minimal | default | all}\deploy\jbossweb-tomcat41.sar \META-INF\jboss-service.xml
    • Search for xml comment "A HTTP/1.1 Connector on port 8080" and change the port value.

  4. There are several ways to stop JBoss:
    • Type CTRL-C in the DOS window.
    • Run the script ..\jboss-3.2.3\bin\shutdown.bat -S
    • Use the JBoss Management Console.
      • Find section jboss.system
      • Select type=Server
      • Find operation shutdown and press button invoke.