This is a quick-start guide to introduce the release 5 of the application server. In this article we will cover the basics of the JBoss 5 Kernel, the server file system and the available configurations.
Please note: JBoss 5 is an archived server release that is no longer maintained or supported. Therefore, they are likely to contain bugs and security vulnerabilities. It is highly recommended that you upgrade to WildFly or JBoss EAP at your earliest convenience.
JBoss 5 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:http://www.jboss.org/jbossas/downloads/
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. |