Home > Apache Geronimo v1.1 > Documentation > Apache Geronimo v1.1 - GuÃa de Usuario > Administrando Geronimo > C. Configurando a Geronimo como un Servicio Windows |
Este artÃculo te mostrará como configurar Apache Geronimo v1.1 para ejecutarse como un servicio de MS Windows. Se requerirá Java Service Wrapper (JSW) como software adicional para lograr dicha configuración. Usando JSW te proporciona un "control" adicional en el servicio que configures, como la habilidad de aplicar ping al servicio y asà ayudar a la respuesta si el servicio no esta en ejecución.
En este artÃculo revisaremos los diversos parámetros de configuración del JSW que controla el comportamiento del servicio y al wrapper mismo.
Para preparar a Apache Geronimo v1.1 como servicio de MS Windows, necesitarás Java Service Wrapper. Para este ejemplo, usamos Java Service Wrapper 3.2.0, disponible para su descarga en la siguiente URL:
http://sourceforge.net/projects/wrapper/
Para este ejemplo, también estamos usando Apache Geronimo v1.1 bajo Windows XP. Puedes descargar los binarios de Apache Geronimo de la siguiente URL:
http://geronimo.apache.org/downloads.html
La instalación de Geronimo a partir de los binarios es muy simple. Sólo extrae al archivo zip en un directorio de tu conveniencia; a partir de ahora, este artÃculo se referirá a ese directorio como <geronimo_home>.
La instalación del wrapper es tan simple como la de Apache Geronimo. Ya que hayas obtenido la versión correcta de tu ambiente, puedes extraer al archivo zip en un directorio de tu conveniencia; a partir de ahora, este artÃculo se referirá a ese directorio como <jsw_home>.
Java Service Wrapper viene con un archivo de configuración ejemplo, wrapper.conf, el cual pre-configura la ejecución de un script prueba (también proporcionado). En esta sección, para tu conveniencia, proporcionamos un archivo wrapper.conf especÃfico para Geronimo.
El archivo wrapper de configuración se encuentra en el directorio <jsw_home>\conf. Respalda al archivo original y crea un nuevo archivo wrapper.conf, con el contenido del siguiente ejemplo.
#******************************************************************** # Propiedades del Wrapper #******************************************************************** # Aplicación Java wrapper.java.command=<java_home>\bin\java # Java clase Principal (Main). Esta clase debe implementar la interfaz WrapperListener # ó garantizar que la clase WrapperManager esta inicializada. Clases ayudantes (Helper) # se te proporcionan para llevarlo a cabo. Consulta la sección de Integración # de la documentación para obtener detalles. wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperStartStopApp # Java Classpath (incluir wrapper.jar) Agrega elementos clase al path como # sea necesario, iniciando de 1 wrapper.java.classpath.1=<jsw_home>\lib\wrapper.jar wrapper.java.classpath.2=<geronimo_home>\lib\cglib-nodep-2.1_3.jar wrapper.java.classpath.3=<geronimo_home>\lib\commons-cli-1.0.jar wrapper.java.classpath.4=<geronimo_home>\lib\commons-logging-1.0.4.jar wrapper.java.classpath.5=<geronimo_home>\lib\geronimo-common-1.1.jar wrapper.java.classpath.6=<geronimo_home>\lib\geronimo-deploy-jsr88-1.1.jar wrapper.java.classpath.7=<geronimo_home>\lib\geronimo-deploy-tool-1.1.jar wrapper.java.classpath.8=<geronimo_home>\lib\geronimo-deployment-1.1.jar wrapper.java.classpath.9=<geronimo_home>\lib\geronimo-j2ee-deployment_1.1_spec-1.0.1.jar wrapper.java.classpath.10=<geronimo_home>\lib\geronimo-kernel-1.1.jar wrapper.java.classpath.11=<geronimo_home>\lib\geronimo-qname_1.1_spec-1.0.1.jar wrapper.java.classpath.12=<geronimo_home>\lib\geronimo-system-1.1.jar wrapper.java.classpath.13=<geronimo_home>\lib\geronimo-util-1.1.jar wrapper.java.classpath.14=<geronimo_home>\lib\log4j-1.2.8.jar wrapper.java.classpath.15=<geronimo_home>\lib\mx4j-3.0.1.jar wrapper.java.classpath.16=<geronimo_home>\lib\mx4j-remote-3.0.1.jar wrapper.java.classpath.17=<geronimo_home>\bin\server.jar wrapper.java.classpath.18=<geronimo_home>\bin\shutdown.jar # Java Library Path (ubicación de Wrapper.DLL ó libwrapper.so ) wrapper.java.library.path.1=..\lib # Java Parámetros Adicionales wrapper.java.additional.1=-Dorg.apache.geronimo.base.dir=<geronimo_home> wrapper.java.additional.2=-Djava.io.tmpdir=<geronimo_home>\var\temp wrapper.java.additional.3=-Djava.endorsed.dirs="<geronimo_home>\lib\endorsed" wrapper.java.additional.4=-Djava.extension.dirs="<geronimo_home>\lib\ext" # Tamaño del Java Heap Inicial (en MB) #wrapper.java.initmemory=3 # Tamaño Máximo del Java Heap (en MB) #wrapper.java.maxmemory=64 # Parámetros de Aplicación. Agrega los parámetros necesarios, iniciando desde 1 wrapper.app.parameter.1=org.apache.geronimo.system.main.Daemon wrapper.app.parameter.2=0 wrapper.app.parameter.3=org.apache.geronimo.deployment.cli.StopServer wrapper.app.parameter.4=false wrapper.app.parameter.5=4 wrapper.app.parameter.6=--user wrapper.app.parameter.7=system wrapper.app.parameter.8=--password wrapper.app.parameter.9=manager # Configuración del Filtro; si deseas comportamiento especial para la bitácora de mensajes # descomenta las siguientes lÃneas #wrapper.filter.trigger.1=JSWRestartGeronimo #wrapper.filter.action.1=RESTART #wrapper.filter.trigger.2=java.lang.OutOfMemoryError #wrapper.filter.action.2=RESTART #******************************************************************** # Propiedades de Bitácora de Wrapper #******************************************************************** # Formato de saluda para la consola. (Consulta docs para información de los formatos) wrapper.console.format=PM # Nivel de bitácora para la salida a consola. (Consulta docs para niveles de bitácoras) wrapper.console.loglevel=INFO # Archivo Bitácora a usar para la captura de salidas del wrapper wrapper.logfile=<geronimo_home>\var\log\jsw.log # Formato de salida para el archivo bitácora. (Consulta docs para información de los formatos) wrapper.logfile.format=LPTM # Nivel de bitácora para lo capturado en el archivo de salida. (Consulta docs para niveles de bitácoras) wrapper.logfile.loglevel=INFO # Tamaño máximo permitido para el archivo bitácora antes de que se le aplique cambio. # El tamaño se especifica en bytes. El valor predeterminado es 0, # el cual no hace cambio de archivo. Es posible abreviar con el sufijo # 'k' (kb) ó 'm' (mb). Por ejemplo: 10m = 10 megabytes. wrapper.logfile.maxsize=0 # Número máximo de archivos de bitácora que serán pedmitios antes de que # se eliminer archivos viejos. El valor por defecto de 0 implica sin lÃmite. wrapper.logfile.maxfiles=0 # Nivel de bitácora para la salida sys\event. (Consulta docs para niveles de bitácoras) wrapper.syslog.loglevel=NONE #******************************************************************** # Propiedades de la ventana del Wrapper #******************************************************************** # TÃtulo a usar cuando se ejecute como consola wrapper.console.title=Apache Geronimo v1.1 Server #******************************************************************** # Propiedades del Servicio Wrapper en Windows NT\2000\XP #******************************************************************** # ADVERTENCIA - No modifiques alguna de estas propiedades cuando una aplicación, # usando a este archivo de configuración, ha sido instalada como servicio. # Por favor desinstala el servicio antes de modificar esta sección. Después # el servicio puede ser reinstalado. # Nombre del servicio wrapper.ntservice.name=Geronimo # Nombre a desplegar del servicio wrapper.ntservice.displayname=Apache Geronimo v1.1 Server # Descripción del servicio wrapper.ntservice.description=Apache Geronimo v1.1 Server # Dependencias del servicio. Agrega las dependencias necesarias, iniciando desde 1 wrapper.ntservice.dependency.1= # Modo en el cual es instalado el servicio. AUTO_START ó DEMAND_START wrapper.ntservice.starttype=AUTO_START # Permitirle al servicio el interactuar con el escritorio. wrapper.ntservice.interactive=false
Aplica una búsqueda con reemplazo, cambiando las etiquetas <java_home>, <geronimo_home> y <jsw_home>, por los valores de tu ambiente.
Hagamos una revisión de nivel general, a lo que hace el archivo de configuración:
Junto con el wrapper, existen dos scripts para instalar y desinstalar el servicio. Ya que estamos usando el mismo nombre del archivo wrapper de configuración, wrapper.conf, no hay necesidad de alterar alguno de esos dos scripts.
Para agregar Apache Geronimo como un servicio MS Windows, ejecuta el siguiente comando:
<jsw_home>\bin\InstallTestWrapper-NT.bat
Para eliminar el servicio de Apache Geronimo, ejecuta el siguiente comando:
<jsw_home>\bin\UninstallTestWrapper-NT.bat
Recuerda que por simplicidad, estamos reusando los scripts proporcionados por la instalación de Java Service Wrapper; el nombre de los scripts no es relevante, ya que ambos apuntan al archivo wrapper de configuración que hemos modificado.
Puedes revisar los resultados de la instalación en el archivo bitácora <geronimo_home>\var\log\jsw.log. DeberÃas ver algo similar a:
STATUS | wrapper | 2006/03/24 15:39:18 | Apache Geronimo v1.1 Server installed.
Para ejecutar al servicio puedes emplear la interfaz de MS Windows ó puedes emplear la opción de lÃnea de comandos. Para el siguiente ejemplo, la opción elegida es el uso de la lÃnea de comandos.
Desde una lÃnea de comandos de Windows, ejecuta el comando:
net start Geronimo
DeberÃas ver un mensaje de confirmación similar al siguiente:
E:\JavaServiceWrapper\bin>net start Geronimo
El servicio de Apache Geronimo v1.1 Server está iniciándose...
El servicio de Apache Geronimo v1.1 Server se ha iniciado con éxito.
Nota que Apache Geronimo puede tomar algunos instantes adicionales para iniciar: incluso cuando recibas el mensaje de que el servicio ha sido iniciado exitosamente, Geronimo podrÃa aún estar cargándose.
Verifica <geronimo_home>\var\log\jsw.log para comprobar que Geronimo ha iniciado completamente: la última lÃnea de la bitácora deberÃa ser similar a:
INFO | jvm 1 | 2006/06/28 13:06:39 | Geronimo Application Server started
Como alternativa, si instalaste al comando tail de Windows, podrÃas ejecutar al siguiente comando para monitorear el estado.
tail -f <geronimo_home>\var\log\jsw.log
Una vez que veas en la bitácora el mensaje Geronimo Application Server started indica que todo está preparado. Con ello puedes abrir un explorador Web y solicitar acceso a la Consola de Administración de Geronimo, mediante la siguiente URL: