Archivo

Archive for the ‘JBoss’ Category

Configurar el nivel de logging de JBoss AS 6.x.x

El mecanismo de logging del servidor de aplicaciones JBoss AS 6.x.x se basa en definir dentro de nuestro código fuente diferentes niveles de logging.

A menor nivel, el logger almacenará información más relevante. Así, la información de depuración se debe colocar en el nivel DEBUG, mientras que la información de errores, se debe colocar en el nivel ERROR.

Cada nivel hace que el logger muestre todos los mensajes de los niveles inferiores además de los mensajes correspondientes a si mismo. Los posibles niveles de depuración de mayor a menor detalle son:

  • TRACE : Es el nivel más superficial. Muestra todos los mensajes.
  • DEBUG : En este nivel se deben colocar los mensajes de depuración. Por ejemplo los mensajes que permiten seguir la traza de ejecución de un método.
  • INFO : En este nivel se debe colocar los mensajes de depuración más esenciales. Por ejemplo los mensajes que indican el inicio de una acción.
  • WARN : En este nivel se deben colocar los mensajes de gran importancia pero que no llegan a ser errores, por ejemplo, aquellos que indican una circustancia excepcional.
  • ERROR : En este nivel, se colocan los mensajes producidos por errores no críticos. Los errores no críticos son aquellos que permiten la continuación del programa.
  • FATAL : En este nivel, se deben colcar los mensajes producidos por errores críticos. Es decir, aquellos errores que no permiten continuar con la ejecución del programa.

El servidor de apliaciones JBoss AS 6.x.x permite definir un nivel de log por defecto. Con este ajuste, le decimos al servidor que no guarde en el fichero de log los mensajes definidos en niveles superiores al nivel de log establecido. Para definir el nivel de log por defecto, debemos editar el fichero jboss-logging.xml dentro del directorio conf del servidor que estemos utilizando, (normalmente default) con lo que la ruta de este fichero seria:

$JBOSS_HOME/server/default/conf/jboss-logging.xml

Una vez dentro de este fichero, debemos localizar la sección:

<root-logger>
   <level name="${jboss.server.log.threshold:TRACE}"/>
   <handlers>
      <handler-ref name="CONSOLE"/>
      <handler-ref name="FILE"/>
   </handlers>
</root-logger>

y sustituir el atributo name de la etiqueta level por

<level name="${jboss.server.log.threshold:NIVEL}"/>

donde NIVEL Es uno de los niveles de logging vistos anteriormente (TRACE,DEBUG,INFO,WARM,ERROR,FATAL).

Configuración de filtros de logging

Normalmente, no interesará mostrar información de depuración de terceros (por ejemplo de bibliotecas que hayamos añadido al proyecto) aunque si se desee mostrar la información de depuración de nuestro propio desarrollo. Al establecer el nivel de logging por defecto a DEBUG, se mostrarán los mensajes de depuración de todas las clases, las hayamos desarrollado nosotros o no.
Para evitar este exceso de mensajes, JBoss AS 6.x.x nos permite definir filtros, que hacen que para las clases de un determinado paquete, el nivel máximo de logging sea el definido en el filtro, independientemente del valor de logging definido por defecto.

Para definir un filtro de logging debemos editar de nuevo el fichero :

$JBOSS_HOME/server/default/conf/jboss-logging.xml

y añadir la siguiente etiqueta:

   <!-- Limit JBoss categories -->
   <logger category="org.jboss">
      <level name="INFO"/>
   </logger>

donde el atributo category de la etiqueta logger, indica el paquete raíz, a partir del cual se aplicará el filtro de logging, y el atributo name de la etiqueta level indica el nivel máximo de depuración permitido para ese conjunto de clases.

Categorías:JBoss Etiquetas:

Instalar Servidor Jboss 6.0 en Debian

JBoss es un servidor de aplicaciones J2EE desarrollado por Red Hat. Junto con GlashFish, es casi la única alternativa libre en el campo de los servidores de aplicaciones. Fue pensado y desarrollado para intergrarse con la distribución Red Hat Linux Enterprise, y asi poder dar una solución a los clientes corporativos de Red Hat. Esto hace que quizás la distribución mas adecuada para instalar Jboss AS sea CentOS, la versión de la comunidad de la distribución de Reh Hat Linux. Sin embargo, como soy fan de Debian, en este articulo, vamos a instalar este servidor de aplicaciones en Debian 6 utilizando las siguientes versiones de los distintos componentes:

  •           Debian 6.1
  •           Jboss 6.0
  •           JDK 1.6.0

Para ello, y partiendo de una instalación limpia de Debian 6 NetInstall  seguiremos los siguientes pasos:

1.- Instalar el kit de desarrollo java JDK 1.6

Para instalar el JDK 1.6 en Debian, lo primero que hay que hacer es habilitar los repositorios non-free de Debian. Esto lo conseguimos editando el fichero

/etc/apt/sources.list

y dejandolo como aparece a continuación:

# deb cdrom:[Debian GNU/Linux 6.0.3 _Squeeze_ - Official amd64 NETINST Binary-1 20111008-19:52]/ squeeze main
#deb cdrom:[Debian GNU/Linux 6.0.3 _Squeeze_ - Official amd64 NETINST Binary-1 2 0111008-19:52]/ squeeze main 
deb http://ftp.es.debian.org/debian/ squeeze main 
deb-src http://ftp.es.debian.org/debian/ squeeze main 
deb http://security.debian.org/ squeeze/updates main 
deb-src http://security.debian.org/ squeeze/updates main # squeeze-updates, previously known as 'volatile' 
deb http://ftp.es.debian.org/debian/ squeeze-updates main
deb-src http://ftp.es.debian.org/debian/ squeeze-updates main 
#contrib &amp; non-free repos 
deb http://ftp.debian.org/debian/ squeeze contrib non-free 
deb-src http://ftp.debian.org/debian/ squeeze contrib non-free 
#deb http://security.debian.org/debian/ squeeze/updates contrib non-free 
#deb-src http://security.debian.org/debian/ squeeze/updates contrib non-freeroot 

Una vez descomentados (o añadidos según el caso) los repositorios non-free, debemos actualizar la lista de paquetes disponibles. Esto lo haremos con el siguiente comando:

$sudo apt-get update

y finalmente instalamos el kit de desarrollo:

$sudo apt-get install sun-java6-jdk

Una vez hecho esto, actualizamos las alternativas de Java, para que la que acabamos de descargar sea la usada por defecto:

$sudo  update-alternatives --config java

y debería salirnos algo como esto:

Sólo hay una alternativa en el grupo de enlaces java: 
/usr/lib/jvm/java-6-sun/jre/bin/java
Nada que configurar.

2.- Descargar y descomprimir JBoss

Para descargar JBoss, haremos uso del siguiente comando:

 
$wget http://downloads.sourceforge.net/project/jboss/JBoss/JBoss-6.0.0.Final/jboss-as-distribution-6.0.0.Final.zip

El siguiente paso es descomprimnir el fichero zip que acabamos de obtener. Para ello si la instalacion de Debian es totalmente nueva, es posible que tengamos que descargar el compresor:

$sudo  apt-get install unzip

Una vez instalado, procedemos a descomprimir:

$unzip ./jboss-as-distribution-6.0.0.Final.zip

Esto nos creará un un directorio llamado jboss-6.0.0.Final. A continuación moveremos este directorio a una ubicación más estándar. Primero creamos un subdirectorio de nombre jboss-6.0.0.Finaldentro del directorio /usr/local/:

$sudo mkdir /usr/local/jboss-6.0.0.Final

y por último, movemos el directorio de JBoss a su nueva ubicación:

$sudo mv ./jboss-6.0.0.Final/ /usr/local/jboss-6.0.0.Final/

3.- Crear el usuario con el que se ejecutará JBoss

Para prevenir problemas de seguridad, crearemos un usuario sin capacidad de login en el sistema que será el que ejecutará el servidor de aplicaciones JBoss AS. Para ello, ejecutamos los siguientes comandos:

$sudo groupadd jboss
$sudo useradd -s /bin/bash -d /home/jboss -m -g jboss jboss

y por último hacemos propietario de este directorio y sus subdirectorios al nuevo usuario jboss:

$sudo chown jboss:jboss /usr/local/jboss -R

4.- Configurar el arranque automático de JBoss

En este punto, haremos que JBoss se inicie automáticamente con el arranque de la máquina, como un servicio más.
Para ello debemos copiar el fichero jboss_init_redhat.sh al directorio /etc/init.d/jboss:

$sudo cp /usr/local/jboss/jboss-6.0.0.Final/bin/jboss_init_redhat.sh /etc/init.d/jboss 

El siguiente paso es modificar el fichero /etc/init.d/jboss para adecuarlo a los cambios que hemos hecho en los directorios. En este caso se debe modificar la línea 18, dejándola como se muestra a continuación:

JBOSS_HOME=${JBOSS_HOME:-"/usr/local/jboss-6.0.0.Final"}

Además, si queremos que JBoss escuche por todas las interfaces de red del sistema, deberemos modificar la línea 30, y dejarla como se muestra a continuación:

JBOSS_BIND_ADDR=${JBOSS_HOST:-"-b 0.0.0.0"}

Por ultimo actualizamos los servicios que se iniciarán automáticamente al arranque del sistema:

$sudo update-rc.d jboss defaults

Con ello, y tras reiniciar el sistema, tendremos acceso en la dirección de nuestro servidor, puerto 8080, a la interfaz de administración de JBoss AS 6.0:


P.D: El usuario y la contraseña por defecto para acceder a la interfaz web de administración del servidor son:

  • usuario: admin
  • contraseña: admin
Categorías:Debian, JBoss Etiquetas: ,