Como integrar su aplicación al Java Service Wrapper

Actualmente hay cuatro maneras con las que una aplicación Java puede integrarse con el Java Service Wrapper. Tres de las cuales trabajarán sin la necesidad de una programación adicional.

El primer paso es decidir cuál de estos cuatro métodos es el mejor para su aplicación. Después de una breve descripción de cada una de las cuatro opciones, entraremos en detalle sobre cómo integrar una aplicación con cada uno de los métodos.

Método de Integración 1 (WrapperSimpleApp)

El Método 1 haz uso de la clase helper WrapperSimpleApp para iniciar la aplicación. Esta es la forma más fácil de integrar su aplicación con el Wrapper, y se recomienda usar esta opción cuando possible.

Details

Sin embargo, hay algunas cosas que hay que tener en cuenta usando este método. Cuando el Wrapper apaga la JVM, no hay ninguna llamada directa a una aplicación solicitando que se apague limpiamente. En otras palabras, el Wrapper terminará la JVM llamando a System.exit () desde la JVM. Si la aplicación ha registrado su propio Shutdown Hook, este será invocado, dándole una oportunidad a la aplicación de apagarse limpiamente. Por otro lado, si el Shutdown Hook no es registrado, la aplicación cerrará repentinamente, de la misma manera como cuando utiliza CTRL-C desde la consola (ventana de comandos). En ambos casos, con o sin un Shutdown Hook, se generará el mismo comportamiento, es decir como si la aplicación se ejecutara sin el Wrapper.

Puede encontrar una descripción detallada con instrucciones, usando un ejemplo de una simple aplicación Hello World para Windows o Linux / UNIX.

Método de Integración 2 (WrapperStartStopApp)

El Método 2 haz uso de la clase helper WrapperStartStopApp. Este método ofrece una manera de integrar aplicaciones como Tomcat, que son iniciadas utilizando una clase y se detienen usando una otra clase.

Details

Normalmente este tipo de aplicaciones abrirá un socket de servidor al iniciar, cuyo trabajo es esperar una conexión que desencadene un apagado. El apagado o la clase stop, cuando son ejecutados, desencadenan el apagado al conectarse con la aplicación.

El Wrapper trabaja con este tipo de aplicaciones iniciando de la misma manera que en el Método 1, usando la clase start para luego llamar al método principal de la clase stop cuando sea el momento para que la aplicación sea apagada.

Puede encontrar una descripción detallada con instrucciones, usando Tomcat como ejemplo en (Windows o Linux / UNIX).

Método de Integración 3 (WrapperListener)

Aunque el Método 3 proporciona la mayor flexibilidad y acceso a todas las funciones del Wrapper, también es el único que necesita modificaciones de código para completar la integración. Este método implica la creación de una clase que implementa la interfaz WrapperListener. Una instancia de la clase del usuario es instanciada y registrada con el WrapperManager.

Details

Aunque este método proporciona funciones que no están disponibles con cualquier de los dos primeros métodos (WrapperSimpleApp o WrapperStartStopApp), agriega cierto nivel de complejidad. Este es el único método que permite hacer uso del código del usuario para recibir y responder directamente a eventos controlados del sistema, así como a los procesos de inicio y apagado.

Si no se necesitan funciones adicionales, la implementación de un Shutdown Hook para permitir el uso del Método 1 (WrapperSimpleApp) o la implementación de una clase de apagadodeberían considerarse como opciones. El método principal de una clase de apagado es tan simple como invocar um método de apagado en la aplicación.

En la mayoría de los casos este control añadido no es necesario, ya que las clases helper Método 1 (WrapperSimpleApp) y Método 2 (WrapperStartStopApp) se hacen cargo de esto, al iniciar y apagar la aplicación en el momento apropiado.

Para una descripción detallada con instrucciones, visite Independencia de Plataformas.

Método de Integración 4 (WrapperJarApp)

El cuarto y último método es usar la clase helper WrapperJarApp para iniciar la aplicación. Esta es otra fácil manera de integrar el Wrapper, cuando la aplicación ya está configurada para ejecutarse como un archivo ejecutable jar.

Details

Sin embargo, hay algunas cosas que se deben tener en cuenta al usar este Método. Cuando el Wrapper apaga la JVM no hay una notificación directa a la aplicación solicitando que sea terminada limpiamente. En otras palabras, el Wrapper apagará la JVM llamando a System.exit() desde la JVM. Si la aplicación ha registrado su propio Shutdown Hook, este será invocado, dándole a la aplicación una oportunidad de apagarse limpiamente. Por otro lado si, el Shutdown Hook no está registrado, la aplicación se cerrará repentinamente de la misma manera como cuando utiliza CTRL-C en la consola (ventana de comandos). En ambos casos, con o sin un Shutdown Hook, se generará el mismo comportamiento, es decir como si la aplicación se ejecutara sin el Wrapper.

Puede encontrar una descripción detallada con instrucciones, usando JBoss EAP como un ejemplo para (Windows o Linux / UNIX).

Referencia: Iniciar su Aplicación con el Wrapper