JBoss 5.1 quick guide

User Rating: 5 / 5

Star ActiveStar ActiveStar ActiveStar ActiveStar Active

This is a quickstart guide to introduce the release 5 of the application server.
The release 5 of the application server introduce several changes in the application server infrastructure. As a matter of fact JBoss  5 kernel has been rewritten completely and is now based on the JBoss MicroContainer  project.


JBoss MicroContainer is a refactoring of the earlier JBoss JMX Kernel and delivers something the competitors tried to produce for a long time: a completely modular and scalable POJO-based foundation. Support for JMX in JBoss 5 remains strong and MBean services written against the old Microkernel are expected to work.

JBoss application server can be freely downloaded from the Community site :site:
The installation of JBoss is simply a matter of extracting the compressed archive into a folder.

In order to start up JBoss correctly, you have to define the environment variable JAVA_HOME to the location where you have installed Java.

After you have installed JBoss, perform a simple startup test to validate that there are no problems with your Java VM/operating system combination. To test your installation, move to the bin directory of your JBOSS_HOME directory and issue the following command:

run.bat    # Windows users
$ run.sh   # Linux/Unix users

The JBoss 5.1 structure

let's have a look at the application server folders:




Here's a description about the single folders:

bin This directory contains the scripts necessary to start-up and shutdown the server. This folder also contains some scripts (like twiddle) there are a few utilities for web services and server management
client This directory contains the client libraries needed to run client applications
common This directory contains the lib folder which is the new repository for the common libraries used by all application server configurations.
docs This folder contains the xml schemas used by the various xml configuration files and useful JMS, JTA and Datasource configuration examples which can be used as templates
lib This is the repository for all JBoss bootstrap libraries. Here is the new Micro-container along with earlier JMX  kernel
server This directory is the home of all server configurations. Here you can find the built-in server configurations (minimal, default, standard, web and all). Each server configuration contains the following directories in the next table


Place in the folder common/lib the libraries which are shared between all your server configuration


JBoss 5.1 available server configurations:


JBoss 5 ships with a set of pre-built server configurations. Most of the time you'll need to use the "default" configuration for single node applications and "all" for clustered applications. Here's anyway a description of each configuration:


The "default" configuration:


This is the basic JBoss configuration containing a default set of services. It has the most frequently used services required to deploy a JEE application. It does not include the JAXR service, the IIOP service, or any of the clustering services.


The "all" confuguration:


This configuration is a full JEE server profile with enterprise extensions such as Clustering and RMI/IIOP.

Inside each server configuration there's one more level containing the single server configuration and deployed artifacts. Here' s the next level:


The "standard" configuration:

The standard folder hosts the configuration that has been tested for Java EE 5.0 compliance. The major differences with the other server existing configurations is that call-by-value and deployment isolation are enabled by default, along with support for RMI-IIOP and jJUDDI. .

The "web" configuration


The "web" configuration is a new experimental lightweight configuration created around JBoss Web that will follow the developments of the Java EE 6 web profile. Besides being a servlet/jsp container (and this is the most relevant difference with a pure Ttomcat  Web Server), it provides support for JPA and JTA/JCA.

The "minimal" configuration


This is the has a minimal configuration—the bare minimum services required to start JBoss. It starts the logging service, a JNDI server and a URL deployment scanner to find new deployments. This is what you would use if you want to use JBoss to start your own services without any other JEE technologies. This is just the bare server. There is no web container, no EJB or JMS support. This is not a JEE compatible configuration.


Inside each server configuration there's one more level which contains the configuration folders, the deployment folder and others. Here's a table which resumes the server structure:


conf This is the configuration directory of the single server configurations.
data The data directory is a location available for use by services that want to store content in the file system
deploy The default location for deployment of JBoss services
deployers Contains all the JBoss AS services that are used to recognize and deploy different application and archive types
lib This folder used to contain the common libraries of all applications. You can use this directory for storing configuration-specific libraries
log The default directory into which the bootstrap logging service places its logs
tmp The location to which deployments are copied for local use
work Used by JBoss Web Server (the web container that comes prepackaged with JBoss AS) to store compiled JSP files and other temporary data.

Related articles available on mastertheboss.com

JBoss MBeans POJO

JMX MBean services are the core building blocks of the JBoss Appl

How to a dump of JNDI tree with JMX console ?

#2 JBoss Howto. This is the recipe of the day

How to configure JBoss to bind to a different IP ?

  If you want to change the jboss.bind.address property use the 

How to shut down JBoss from remote ?

JBoss recipe of the day

How to create multiple instances of an Mbean?

  Supposing you need two instances of an MBean, let's say one fo

JBoss classloader issues

By default JBoss (prior to version 3.2) uses a flat class loading

Follow us on Twitter