Configuración del servidor de aplicaciones JBoss

RECU-0777 (Recurso Referencia)

Descripción

A continuación se va a presentar un estudio sobre la estructura de carpetas para la configuración de aplicaciones dentro del servidor de aplicaciones Tomcat.

Características

Los ficheros de configuración del servidor de JBoss dependen de la modalidad del servidor de aplicaciones, se recomienda configurar la aplicación en función de la estructura presentada por MADEJA

La estructura de carpetas de un servidor de aplicaciones JBoss es la siguiente

  • bin Este directorio contiene los ejecutables utilizados por JBoss, el más importante, siendo el "script" de arranque utilizado por éste (run.sh) .
  • client Contiene los diversos archivos JAR's que serán utilizados por los distintos clientes de los EJB's utilizados en JBoss.
  • docs Este directorio contiene documentación acerca de JBoss.
  • lib Este directorio contiene los archivos JAR's empleados por JBoss requeridos en cualquier modalidad.
  • server Este directorio contiene tres sub-directorios, llamados: all, default y minimal; cada sub-directorio contiene los distintos archivos de configuración necesarios para ejecutar JBoss en diferentes modalidades. La modalidad all incluye la ejecución de JBoss para emplearse como "Cluster", ejecución de "Web-Services" y otras funcionalidades más ; el directorio default, como su nombre indica, incluye la configuración para ejecutar JBoss de manera básica, mientras el directorio minimalcontiene los valores de configuración necesarios para ejecutar JBoss con requerimientos mínimos. El "Script" de arranque proporcionado con JBoss emplea los valores del directorio default, para emplear otra modalidad es necesario modificar dicho "Script" de arranque (run.sh). A continuación se describen los directorios residentes en la modalidad de arranque default:
    • Conf Este directorio contiene las diferentes secciones de configuración utilizadas por JBoss. Este directorio puede contener distintos archivos, dependiendo de la modalidad utilizada
    • Data Contiene distintos parámetros y archivos de configuración para las Bases de Datos proporcionadas con JBoss (Hypersonic y la implementación "Messaging" de JBoss)
    • Deploy Este directorio es ampliamente utilizado ya que aquí se colocan los EJB's para que sean ejecutados por JBoss, una vez colocado el archivo JAR (en forma de EJB) en este directorio, JBoss automáticamente expande y ejecuta el EJB.
    • Lib Contiene los archivos JAR's empleados por JBoss en base a la modalidad tratada.
    • Log Contiene los distintos registros ("Logs") generados por JBoss.
    • Tmp Contiene archivos creados por JBoss y utilizados de manera temporal.
    • Work Contiene las clases y archivos utilizados por JBoss para ejecución.

Normalmente la estructura que presenta la configuración

JBOSS_HOME/server/<modalidad>/<carpeta>

Donde JBOSS_HOME es el directorio donde se tiene instalado JBoss, la modalidad es la instancia del servidor JBoss que estamos usando, normalmente 'default' y carpeta esta relacionada con el tipo de dato a almacenar (librería, fichero de configuración, etc)

Ejemplos

Configuracion ejemplo de JBoss

<serverDefinition 
     name="JBOSS 3.2.1 ALL"
     ejbModules="true"
     webModules="true"
     earModules="true">
<property id="serverRootDirectory"
    label="Application Server Directory:"
    type="directory"
    default="D:/jboss-3.2.1" />
<property id="serverAddress"
    label="Address:"
    type="string"
    default="127.0.0.1" />
<property id="serverPort"
    label="Port:"
    type="string"
    default="8080" />
<property id="classPathVariableName"
    label="Classpath Variable Name:"
    type="string"
    default="JBOSS321" />
<property id="classPath"
    label="Classpath Variable:"
    type="directory"
    default="D:/jboss-3.2.1" />
<serverHome>${serverRootDirectory}</serverHome>
<webModulesDeployDirectory>${serverRootDirectory}/server/all/deploy</webModulesDeployDirectory>
<ejbModulesDeployDirectory>${serverRootDirectory}/server/all/deploy</ejbModulesDeployDirectory>
<earModulesDeployDirectory>${serverRootDirectory}/server/all/deploy</earModulesDeployDirectory>
<jndiInitialContextFactory>org.jnp.interfaces.NamingContextFactory</jndiInitialContextFactory>
<jndiProviderUrl>jnp://${serverAddress}:1099</jndiProviderUrl>
<startClass>org.jboss.Main</startClass>
<startWorkingDirectory>${serverRootDirectory}/bin</startWorkingDirectory>
<startVmParameters></startVmParameters>
<startProgramArguments>-c all</startProgramArguments>
<stopClass>org.jboss.Shutdown</stopClass>
<stopWorkingDirectory>${serverRootDirectory}/bin</stopWorkingDirectory>
<stopVmParameters></stopVmParameters>
<stopProgramArguments>${serverAddress} ${serverPort}</stopProgramArguments>
<serverClassPath>
    <jar type="variable">JDK_TOOLS</jar>
    <jar type="variable">${classPathVariableName}/bin/run.jar</jar>
    <jar type="variable">${classPathVariableName}/bin/shutdown.jar</jar>
    <jar type="variable">${classPathVariableName}/client/jboss-j2ee.jar</jar>
    <jar type="variable">${classPathVariableName}/server/all/lib/javax.servlet.jar</jar>
    <jar type="variable">${classPathVariableName}/lib/concurrent.jar</jar>
    <jar type="variable">${classPathVariableName}/lib/gnu-regexp.jar</jar>
    <jar type="variable">${classPathVariableName}/lib/jboss-system.jar</jar>
    <jar type="variable">${classPathVariableName}/lib/commons-httpclient.jar</jar>
    <jar type="variable">${classPathVariableName}/lib/getopt.jar</jar>
    <jar type="variable">${classPathVariableName}/lib/jboss-boot.jar</jar>
    <jar type="variable">${classPathVariableName}/lib/jboss-common.jar</jar>
    <jar type="variable">${classPathVariableName}/lib/jboss-jmx.jar</jar>
    <jar type="variable">${classPathVariableName}/lib/log4j-boot.jar</jar>
    <jar type="variable">${classPathVariableName}/lib/jdom.jar</jar>
    <jar type="variable">${classPathVariableName}/lib/webdavlib.jar</jar>
    <jar type="variable">${classPathVariableName}/lib/xercesImpl.jar</jar>
    <jar type="variable">${classPathVariableName}/lib/xml-apis.jar</jar>
    <jar type="variable">${classPathVariableName}/server/all/lib/jboss.jar</jar>
    <jar type="variable">${classPathVariableName}/server/all/lib/jsse.jar</jar>
    <jar type="variable">${classPathVariableName}/server/all/lib/jboss-jaas.jar</jar>
    <jar type="variable">${classPathVariableName}/server/all/lib/jboss-j2ee.jar</jar>
    <jar type="variable">${classPathVariableName}/server/all/lib/jts.jar</jar>
    <jar type="variable">${classPathVariableName}/server/all/lib/jsse.jar</jar>
    <jar type="variable">${classPathVariableName}/server/all/lib/jboss-management.jar</jar>
    <jar type="variable">${classPathVariableName}/server/all/lib/jbossmqha.jar</jar>
    <jar type="variable">${classPathVariableName}/server/all/lib/jbossmq.jar</jar>
    <jar type="variable">${classPathVariableName}/server/all/lib/jbosssx.jar</jar>
    <jar type="variable">${classPathVariableName}/server/all/lib/jpl-pattern.jar</jar>
    <jar type="variable">${classPathVariableName}/server/all/lib/jpl-util.jar</jar>
    <jar type="variable">${classPathVariableName}/server/all/lib/jbossha.jar</jar>
    <jar type="variable">${classPathVariableName}/server/all/lib/jnpserver.jar</jar>
    <jar type="variable">${classPathVariableName}/server/all/lib/javagroups-2.0.jar</jar>
    <jar type="variable">${classPathVariableName}/server/all/lib/jboss-transaction.jar</jar>
    <jar type="variable">${classPathVariableName}/server/all/lib/bcel.jar</jar>
    <jar type="variable">${classPathVariableName}/server/all/lib/jboss-jsr77.jar</jar>
    <jar type="variable">${classPathVariableName}/server/all/lib/log4j.jar</jar>
    <jar type="variable">${classPathVariableName}/server/all/lib/hsqldb.jar</jar>
    <jar type="variable">${classPathVariableName}/server/all/lib/hsqldb-plugin.jar</jar>
</serverClassPath>
<clientClassPath>
    <jar type="variable">${classPathVariableName}/client/jboss-j2ee.jar</jar>
    <jar type="variable">${classPathVariableName}/client/jnp-client.jar</jar>
    <jar type="variable">${classPathVariableName}/client/jboss-client.jar</jar>
    <jar type="variable">${classPathVariableName}/client/jboss-common-client.jar</jar>
    <jar type="variable">${classPathVariableName}/client/jbosssx-client.jar</jar>
    <jar type="variable">${classPathVariableName}/client/log4j.jar</jar>
    <jar type="variable">${classPathVariableName}/client/jnet.jar</jar>
    <jar type="variable">${classPathVariableName}/client/jboss-jaas.jar</jar>
</clientClassPath>
</serverDefinition>

Enlaces externos