Wir entwickeln Chatbots. Unser Chatbot-Server ist in Java implementiert und läuft bei unseren Kunden in der DMZ oder bei von Ihnen ausgewählten Providern im Rechenzentrum. Hin und wieder bevorzugen unsere Kunden Windows, sodass unser Java-Programm unter diesem Betriebssystem laufen soll. Und natürlich soll der Chatbot-Server nicht manuell gestartet werden müssen, sondern soll automatisch mit dem Server mit gestartet werden. Dazu bietet sich unter Windows natürlich ein entsprechender Dienst an.
Nun gibt es einige bewährte Lösungen für dieses nicht ganz neue Problem. Aber eine besonders elegante, einfach zu nutzende habe ich erst kürzlich kennengelernt: YAJSW - Yet Another Java Service Wrapper.
Hoch flexibel, auch für Linux und macOS einsetzbar, kostenlos nutzbar, stetig aktualisiert (wobei die Dokumentation etwas vernachlässigt wird), vielseitig, ... Die Liste der Vorteile ist lang - sehr lang.
Die Installation und Verwendung sieht grob so aus:
- Archiv herunterladen und auspacken,
- Java-Programm in der Konsole starten und Prozess-ID ermitteln,
- mit
genConfig.bat PID
wird die Konfigurationsdatei automatisch erzeugt, - die Konfigurationsdatei noch einmal durchsehen und z. B. den Dienstnamen anpassen,
- mit
runConsole.bat
einmal als Anwendung laufen lassen und testen, - mit
installService.bat
den Dienst installieren und - mit
startServer.bat
starten.
Fertig!