Fundamentally, the JBoss architecture consists of the JMX MBean server, the microkernel, and a set of pluggable component services - the MBeans. This makes it easy to assemble different configurations and gives you the flexibility to tailor them to meet your requirements.
You don’t have to run a large, monolithic server all the time; you can remove the components you don’t need (which can also reduce the server startup time considerably) and you can also integrate additional services into JBoss by writing your own MBeans. You certainly don’t need to do this to be able to run standard J2EE applications though. Everything you need is already there.
You don’t need a detailed understanding of JMX to use JBoss, but it’s worth keeping a picture of this basic architecture in mind as it is central to the way JBoss works.
The JBoss Enterprise Application Platform ships with four different server configurations. Within the JBOSS_DIST/jboss-as/server directory, you will find four subdirectories: minimal, default, production and all - one for each server configuration. Each of these configurations provide a different set of services. The production configuration is the one used if you don’t specify another one when starting up the server.
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 JMX/JBoss to start your own services without any other J2EE technologies. This is just the bare server. There is no web container, no EJB or JMS support. This is not a J2EE 1.4 compatible configuration.
is a base J2EE 1.4 server profile containing a default set of services. It has the most frequently used services required to deploy a J2EE application. It does not include the JAXR service, the IIOP service, or any of the clustering services. Please note that although this configuration is called "default", the actual default configuration for the server is the "production" configuration.
on the other hand has all the services configured to launch every single component. This is a full J2EE 1.4 server profile with enterprise extensions such as Clustering and RMI/IIOP.
is based on the "all" profile, tuned for production; with log verbosity reduced, deployment scanning every 60 seconds, and memory usage tuned to accomodate production deployment requirements, among other things. This is the configuration that will be used by the server when it is started, if no other configuration is specified.
If you want to know which services are configured in each of these instances, look at the jboss-service.xml file in the JBOSS_DIST/jboss-as/server/<instance-name>/conf/ directory and also the configuration files in the JBOSS_DIST/jboss-as/server/<instance-name>/deploy directory.
[vsr]$ls server/default/conf
jbossjta-properties.xml jndi.properties standardjbosscmp-jdbc.xml
jboss-log4j.xml login-config.xml standardjboss.xml
jboss-minimal.xml props xmdesc
jboss-service.xml standardjaws.xml
The production configuration is the one used if you don’t specify another one when starting up the server.
To start the server using an alternate configuration refer to Section 2.3.2, “Start the Server With Alternate Configuration”.