2008-08-25 14 views
19

Estoy buscando el mejor método para ejecutar una aplicación Java como un demonio * NIX o un servicio de Windows. He buscado en el Java Service Wrapper, el Apache Commons project 'jsvc' y el Apache Commons project 'procrun'. Hasta ahora, Java Service Wrapper parece ser la mejor opción ... pero, me pregunto si hay algún otro producto licenciado "de código abierto" disponible.¿El mejor método para ejecutar una aplicación Java como un * nix Daemon o servicio de Windows?

+0

Para servicios de Windows, consulte esta pregunta: http://stackoverflow.com/questions/68113/how-to-create-a-windows-service-from-java-app/3626452#3626452 (Agregando este comentario como Google me trajo aquí, pero la otra pregunta tiene más respuestas). – atomicules

Respuesta

17

He tenido un gran éxito con Java Service Wrapper. No he mirado a los demás, pero los principales puntos fuertes de ServiceWrapper son:

  • gran apoyo x-plataforma - Lo he utilizado en Windows y Linux, y lo encontré fácil en tanto
  • documentación sólida - Los documentos son claros y directos, con excelentes ejemplos
  • Soporte por plataforma profundo: hay algunas características únicas en el sistema de administración de servicios de ventanas que son compatibles perfectamente con el envoltorio del servicio (sin reinicio). Y en Windows, incluso verá el nombre de su aplicación en la lista de procesos en lugar de solo "java.exe".
  • Cumple con los estándares: a diferencia de muchos scripts de inicio de Java ad-hoc, los scripts para el envoltorio de servicios tienden a cumplir con los estándares LSB. Esto puede terminar siendo muy importante si alguna vez desea una administración de alta disponibilidad de algo como Linux Heartbeat/HA.

De todos modos, sólo mis 2 centavos ... :)

+1

No puedo recomendar esto lo suficiente –

1

¿Hay algún atributo especial que deba aplicar (como la administración de recursos guiados por el sistema operativo) que necesita? De lo contrario, para Unix, debe poder demonizar su aplicación escribiendo un script init.d apropiado y configurando su aplicación para que se inicie automáticamente.

3

Otra opción es WinRun4J. Esto es sólo ventanas, pero tiene algunas características útiles:

  • 32 bits y 64 bits
  • API para acceder al registro de eventos y registro
  • pueden inscribirse servicio a depender de otros servicios (es decir serviceâ y serviceB debe iniciarse antes del servicioC)

También es compatible con código abierto (CPL), por lo que no hay restricciones de uso.

(descripción completa: yo trabajo en este proyecto).

Cuestiones relacionadas