Yet Another Java Service Wrapper (YAJSW) ermöglicht es unter anderem, Java Programme als Windows Service laufen zu lassen. Außerdem bietet YAJSW für mich noch folgende Dienste:
Folgende Schritte sind umzusetzen:
creating image configuration file NOT YET IMPLEMENTED
)
bat
Verzeichnis vom YAJSW wechseln.
genConfig.bat <PID>
ausführen. conf
Verzeichnis die Datei wrapper.conf
erstellt. wrapper.ntservice.*
Properties andere Namen, Titel und Beschreibungen für das Service eintragen.)
runConsole.bat
getestet, ob die Applikation erfolgreich gestartet wird. wrapper.log
im log
Verzeichnis öffnet.)
installService.bat
als Service installieren. uninstallService.bat
deinstallieren und erneut installieren.
service.msc
wie gewohnt starten. (Alternativ kann man aber auch startService.bat
von YAJSW verwenden.)
Einmal konnte ich das Service nicht einrichten, weil die Fehlermeldung "Error 2: The system cannot find the file specified." beim Starten
des Services angezeigt wurde. In diesem Fall habe ich in der Konfiguration den vollständigen Pfad zur java.exe hinzugefügt mit folgender
Einstellung:
wrapper.ntservice.java.command = "C:\\Program Files\\Java\\jdk1.8.0_60\\bin\\java"
Mehr Details zu diesem Problem habe ich
hier
gefunden.
Damit der Service Wrapper die Mails versendet, wenn das Service gestoppt wird, wurden in der wrapper.conf
folgende Einträge hinzugefügt:
#******************************************************************
# EVENT HANDLING
#******************************************************************
wrapper.script.ABORT=scripts/sendMail.gv
wrapper.script.ABORT.args=juergen.platzer@xy.com,Betreff,Mailtext
wrapper.script.STOP=scripts/sendMail.gv
wrapper.script.STOP.args=juergen.platzer@xy.com,Betreff,Mailtext
wrapper.script.RESTART=scripts/sendMail.gv
wrapper.script.RESTART.args=juergen.platzer@xy.com,Betreff,Mailtext
wrapper.script.SHUTDOWN=scripts/sendMail.gv
wrapper.script.SHUTDOWN.args=juergen.platzer@xy.com,Betreff,Mailtext
(Weitere Hinweise über die Parameter habe ich
hier
gefunden.)
Damit wurden die Adressaten, der Betreff und der E-Mailtext festgelegt. Zusätzlich musste im Groovy Script sendMail.gv
im Verzeichnis scripts
noch der SMTP Server und die Absende-Adresse eingetragen werden:
mailHost='<SMTP-Server>' // set your mail provider
mailFrom='MeinTollesProgramm@xy.com' // set your mail from