2011-09-29 18 views
5

Tengo una aplicación de consola (escrita en Java), que debe ejecutarse en una máquina Linux hasta que se detenga.Java daemon en Linux: ¿Opciones?

El registro lo realiza la propia aplicación.

La aplicación debe detenerse siempre que haya una nueva versión disponible (es decir, iniciar sesión, detener la aplicación, copiar el nuevo archivo JAR y luego iniciarlo de nuevo).

¿Cuáles son las opciones para implementar esto, además de las especificadas a continuación?

conocen formas de hacerlo:

1) Servicio de Tanuki envoltorio

2) nohup java-jar-miaplicacion 1.32.jar &

+0

Aunque no se ajusta a sus necesidades por completo, puede echar un vistazo a capistrano. – leonm

+0

Tenga cuidado de encontrar un servicio que permita escuchar las señales de apagado para apagar su servicio correctamente. –

+0

¿Su aplicación de consola podrá detectar que debe cerrarse? –

Respuesta

2

Algunas distribuciones modernas de Linux han cambiado a upstart. Es un daeomon que comienza y detiene todos los otros servicios. Definitivamente investigaría eso. Ya que resuelve algunos problemas complicados con scripts de inicio listo para producción. La desventaja es que no tiene ninguna funcionalidad específica de Java.

+0

Gracias por su sugerencia. El enlace que publicó hace referencia a un artículo de Wikipedia sobre el género externo. No entiendo qué tiene que ver con advenedizo. –

+0

Oh, lo siento, ese era el enlace equivocado. Quise decir: http://upstart.at/ – jmg

0
Hay

también los deamons Commons Apache http://commons.apache.org/proper/commons-daemon/jsvc.html

Jsvc es un conjunto de bibliotecas y aplicaciones para hacer las aplicaciones Java se ejecutan en UNIX con más facilidad.

Jsvc permite a la aplicación (por ejemplo, Tomcat) realizar algunas operaciones privilegiadas como root (por ejemplo, enlazar a un puerto < 1024), y luego cambiar la identidad a un usuario sin privilegios.