En sistemas Windows aplicaciones Java son ejecutadas en el símbolo del sistema (command prompt). Esto requiere que el usuario de la cuenta este conectado en el sistema todo el tiempo, y que el símbolo del sistema este abierto y en ejecución en una computadora de escritorio.
Esto tiene desventajas, como problemas de seguridad por el hecho de que un usuario este en sesión, el rendimiento del sistema o simplemente tener el riesgo de que un usuario pulse la tecla equivocada en el símbolo del sistema y elimine la aplicación Java.
- ¿Qué es un Servicio?
- Clase Simple de Java HelloWorldServer
- Configurando la Clase HelloWorldServer con el Wrapper
- Ejecutando HelloWorldServer en una Consola
- Simulación de un bloqueo (Crash)
- Ejecutando HelloWorldServer como un Servicio
¿Qué es un Servicio? |
Windows tiene la capacidad de ejecutar aplicaciones en segundo plano como un Servicio y resolver estos problemas. Servicios son implementados al iniciar el sistema y no requieren que un usuario este en sesión. Esto aumenta significativamente seguridad y la estabilidad general del sistema, porque no es posible que un usuario pueda detener, iniciar o alterar aplicaciones Java a menos que sea el administrador. El problema es que Java no se puede ejecutarse como un Servicio por su propia cuenta. Muchas herramientas simples como el comando de Windows sc se puede utilizar para ejecutar Java como un servicio, pero el usuario haciendo algo tan sencillo como cerrar la sesión de la máquina causará que Java sea apagada. El Java Service Wrapper no solo hace posible pero más fácil de ejecutar cualquier aplicación Java como un Servicio de Windows. También agrega tolerancias a fallos avanzadas (failover), recuperación de errores y funciones de análisis y asegurarse de que su aplicación tenga el tiempo máximo de actividad posible. |
Clase Simple de Java HelloWorldServer |
||||||||||||||||||||||||
En este ejemplo, haremos uso de una aplicación simple HelloWorldServer que nos dejará ejecutarla en segundo plano y conectarse a un cliente usando telnet. Por favor visite la descripción completa de la aplicación para aprender como crear y construir HelloWorldServer para este ejemplo. A menos que usted realmente desee ejecutar el ejemplo, basta decir que se puede ejecutar con la siguiente línea de comando Java.
|
Ejecutando HelloWorldServer en una Consola |
||||
El Wrapper finalmente ha sido configurado, empecemos a probar nuestras funciones en el Símbolo del Sistema de Windows. Por favor abra el Símbolo del Sistema y visite nuestro directorio %EXAMPLE_HOME% con el comando cd. El Wrapper y nuestra aplicación ha sido configurada exitosamente para poder iniciarla como se muestra a continuación:
Note que la ubicación del archivo configurado es relativo a la ubicación de la versión binaria del Wrapper. Esta claro que dependiendo de sus necesidades hara uso del Wrapper, pero en realidad incrementa la confiabilidad del mismo al lanzarlo usando diferentes Métodos de Integración. Cuando el Wrapper inicia verá algo como lo que a continuación se presenta:
El mensaje generado en la parte superior del archivo de registro de valores es porque estamos usando una licencia de prueba temporal. Este le indica donde puede adquirir una licencia temporal con un plazo más largo y también como comprar una licencia, si así lo desea.
La línea larga del Command: es un mensaje de depuración y la salida de datos se podrá ver en la línea de comandos Java, el cual es generada por el Wrapper.
Esto es de gran ayuda para resolver problemas, una vez que este haciendo uso del Wrapper inhabilite la propiedad
wrapper. Si ha adquirido una licencia, esto es lo que observará:
Puede detener su aplicación en cualquier momento presionando CTRL-C. El Wrapper siempre mantiene un registro mostrando por qué una aplicación se detuvo de esta manera verá en su archivo de registro de valores algo como esto:
|
Simulación de un bloqueo (Crash) |
|
Ahora para ver una ejemplo simple de como el Wrapper puede recuperarse de un gran número de errores. Por favor inicie el Wrapper una vez más, abra el Administrador de Tareas Windows, esto se puede hacer presionando simultáneamente CTRL-ALT-DEL. Observe la pestaña de Procesos y localize el proceso java.exe seleccione y presione Terminar Proceso. Esto le informará a Windows que elimine el proceso Java sin darle una oportunidad de que se apague limpiamente. Cuando el proceso de Java literalmente muere, usted verá en el archivo de registro de valores del Wrapper algo como lo que a continuación se muestra. Note como el Wrapper detecta que la máquina JVM muere y lanza un reemplazo en segundos.
El archivo de registro de valores se mantiene informado de cuantas veces la máquina JVM ha sido reiniciada. Esto es de gran ayuda para administradores de sistemas y puedan ver de una manera más fácil donde hay problemas simplemente al observar los registros de valores al final del archivo. |
Referencia: Iniciar su Aplicación con el Wrapper |
[Windows]
[Linux / Unix]
[Común] |