Saltar al contenido

Cómo crear un servicio de Windows desde la aplicación Java

No dudes en divulgar nuestra página y códigos en tus redes, ayúdanos a ampliar esta comunidad.

Solución:

Apache Commons Daemon es una buena alternativa. Tiene Procrun para servicios de Windows y Jsvc para demonios de Unix. ¡Utiliza una licencia de Apache menos restrictiva y Apache Tomcat la usa como parte de sí mismo para ejecutarse en Windows y Linux! Hacer que funcione es un poco complicado, pero hay un artículo exhaustivo con un ejemplo de trabajo.

Además de eso, puede mirar binservice.bat en Apache Tomcat para tener una idea de cómo configurar el servicio. En Tomcat, cambian el nombre de los binarios de Procrun (prunsrv.exe -> tomcat6.exe, prunmgr.exe -> tomcat6w.exe).

Algo con lo que luché al usar Procrun, sus métodos de inicio y detención deben aceptar los parámetros (String[] argv). Por ejemplo “inicio(Cadena[] argv)” y “stop(String[] argv)” funcionaría, pero “start()” y “stop()” provocarían errores. Si no puede modificar esas llamadas, considere crear una clase de arranque que pueda modificar esas llamadas para satisfacer sus necesidades.

Tuve algo de suerte con Java Service Wrapper

¡Con Apache Commons Daemon ahora puede tener un nombre e icono ejecutable personalizado! ¡También puede obtener un monitor de bandeja de Windows personalizado con su propio nombre e icono!

¡Ahora tengo mi servicio ejecutándose con mi propio nombre e ícono (prunsrv.exe), y el monitor de la bandeja del sistema (prunmgr.exe) también tiene mi propio nombre e ícono personalizados!

  1. Descargue los archivos binarios de Apache Commons Daemon (necesitará prunsrv.exe y prunmgr.exe).

  2. Cambiarles el nombre para que sean MyServiceName.exe y MyServiceNamew.exe respectivamente.

  3. Descarga WinRun4J y usa el RCEDIT.exe programa que viene con él para modificar el ejecutable de Apache para incrustar su propio icono personalizado como este:

    > RCEDIT.exe /I MyServiceName.exe customIcon.ico
    > RCEDIT.exe /I MyServiceNamew.exe customTrayIcon.ico
    
  4. Ahora instale su servicio de Windows de esta manera (consulte la documentación para obtener más detalles y opciones):

    > MyServiceName.exe //IS//MyServiceName 
      --Install="C:path-toMyServiceName.exe" 
      --Jvm=auto --Startup=auto --StartMode=jvm 
      --Classpath="C:path-toMyJarWithClassWithMainMethod.jar" 
      --StartClass=com.mydomain.MyClassWithMainMethod
    
  5. ¡Ahora tiene un servicio de Windows de su Jar que se ejecutará con su propio icono y nombre! También puede iniciar el archivo del monitor y se ejecutará en la bandeja del sistema con su propio icono y nombre.

    > MyServiceNamew.exe //MS//MyServiceName
    

Te mostramos reseñas y valoraciones

No se te olvide dar recomendación a este escrito si te ayudó.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *