11.2. What's Different in Enterprise Application Platform 5

The distribution layout and configuration information in the Enterprise Application Platform 5 distribution are similar to the Enterprise Application Platform 4.x series with some notable differences. This section highlights the differences at a glance.

11.2.1. Differences in the Distribution Layout

The directory structure of jboss-as directory is summarized below.
  • /bin — contains start scripts and run.jar
  • /client — contains client JARs.

    Note

    Previously, JBoss client libraries were bundled in jbossall-client.jar. Rather than including them, jbossall-client.jar now references them through a Classpath manifest entry. This enables granular updating of libraries without requiring replacement of all libraries. It requires that you have the jbossall-client.jar, which now acts as a map or index, as well as the actual client/*.jar libraries.
  • /common/lib — contains shared libraries common to various configurations have been moved to this new shared location. This eliminates the need for multiple copies of the same library in the distribution.
    The location of the common library directory is controlled with the following properties:
    • jboss.common.base.url — the default value is ${jboss.home.url}/common
    • jboss.common.lib.url — the default value is ${jboss.common.base.url}/lib
    You can set these properties in run.conf under JAVA_OPTS with the -D flag:
    JAVA_OPTS="[...] -Djboss.common.base.url=$URL1 -Djboss.common.lib.url=$URL2"
    
    The common library directory is shared by all configuration types except for the minimal configuration. The common library is referenced at the beginning of every configuration's conf/jboss-service.xml
    <classpath codebase="${jboss.server.lib.url}" archives="*"/>
    The library directory of the individual directory remains in place, although in some cases (as in $JBOSS_HOME/server/default/lib/) it is an empty directory.
  • /docs — contains schemas, document type declarations, examples and licenses. Most deployment descriptors now use XML Schema Definitions (XSDs). One exception is jboss-app, which uses jboss-app_5_0.dtd. JBoss Web uses jboss-web_5_1.xsd. For Enterprise JavaBeans 3.0 deployments, jboss_5_1.xsd is the recommended schema. Enterprise JavaBeans 2.0 deployments must use jboss_x_x.dtd.
  • /lib — contains the core bootstrap JARs. These have been changed slightly to accommodate the Microcontainer and the division of jboss-common.
  • /server — contains directories for configuring the server:
    • $PROFILE — contains the configuration details of a particular server profile
      • /conf
        • bootstrap.xml — a new kernel bootstrap configuration that refers to other configuration files containing the beans to set up each individual subsystem.
        • bindingservice.beans
          • /META-INF
            • bindings-jboss-beans.xml — contains required port bindings.
          • jboss-bindingservice.jar
        • /bootstrap
          • vfs.xml — initializes the virtual file system
          • classloader.xml
          • aop.xml
          • jmx.xml — legacy JMX support.
          • deployers.xml
          • profile-repository.xml — the ProfileService enabled deployment repository.
        • jax-ws-catalog.xml — an Oasis Catalog-driven Schema/DTD namespace configuration file.
        • jbossts-properties.xml — contains new JBossTS properties.
        • jboss-service.xml — contains legacy static managed beans to retain compatibility.
        • jndi.properties — contains JNDI configuration properties.
        • log4j.xml — contains log4j configuration information.
        • login-config.xml — contains JAAS login configuration information.
        • /props — contains default JAAS login properties files.
        • standardjbosscmp-jdbc.xml — contains CMP2 configuration information.
        • standardjboss.xml — contains Enterprise JavaBean 2.0 configuration information.
        • /xmdesc — contains legacy XML managed bean descriptors.
      • /deploy
        • jca-jboss-beans.xml
        • hdscanner-jboss-beans.xml — contains the hot-deployment scanner.
        • legacy-invokers-service.xml
        • profileservice-jboss-beans.xml
        • remoting-jboss-beans.xml
        • transaction-jboss-beans.xml
        • vfs-jboss-beans.xml
      • /deployers — contains new VDF deployers.
        • /bsh-deployer — contains the beanshell deployer.
        • ejb3.deployer — contains Enterprise JavaBean 3.0 deployers.
        • jboss-aop-jboss5.deployer — contains the aspect deployer.
        • jboss-jca.deployer — contains the JCA deployers.
        • jbossweb.deployer — contains the WAR deployers.
        • jbossws.deployer — contains the web service deployers.
        • seam.deployer — contains the Seam deployer.
        • clustering-deployers-jboss-beans.xml
        • dependency-deployers-jboss-beans.xml
        • directory-deployer-jboss-beans.xml
        • ear-deployer-jboss-beans.xml
        • ejb-deployer-jboss-beans.xml
        • hibernate-deployer-jboss-beans.xml
        • logbridge-boss-beans.xml
        • jsr77-deployers-jboss-beans.xml — contains JSR-77 (J2EE Management) support.
        • metadata-deployer-jboss-beans.xml — contains the metadata handlers.
        • messaging-definitions-jboss-beans.xml — contains data required to map JMS destinations to managed objects.
        • security-deployer-jboss-beans.xml — contains the security deployers.
        • xnio.deployer
        • jboss-threads.deployer
      • /lib — contains static library JARs. Some JARs that were previously located in this directory have been moved into the top-level common/lib directory.