Ich habe einen Server in Websphere Liberty auf Windows Server 2019 erstellt und auch einen Dienst dafür registriert. Wenn ich den Dienst starte, ändert sich der Status inLäuft, aber nach ein paar Sekunden verschwindet der Status (d. h. der Dienst stoppt). Der mit dem Dienst verknüpfte Server läuft jedoch tatsächlich im Hintergrund.
Der Liberty-Server funktioniert wie erwartet und kann problemlos über die Befehlszeile gestoppt werden. Das einzige Problem besteht darin, dass der Status des Dienstes in services.msc falsch angezeigt wird. Dies lässt mich glauben, dass der mit Liberty gelieferte Service Wrapper (Prunsrv.exe) nicht mit Windows Server 2019 kompatibel ist, da ich dieses Problem unter Windows Server 2008/2012/2106 nicht hatte.
Muss etwas Besonderes getan werden, damit es unter Windows Server 2019 funktioniert? Ich bin für alle Vorschläge/Hinweise sehr dankbar.
Danke, Ronan
Antwort1
Bei mir war das gleiche Problem. Ich habe verschiedene Service Wrapper ausprobiert, NSSM und WinSW. Nach einigem Herumprobieren fiel mir auf, dass der Dienst auf meinem System nach etwa 39 Sekunden nicht mehr ausgeführt wurde. Ich habe im Befehlsfenster denselben Befehl ausgeführt, server.bat start yourServer. Dabei fiel mir auf, dass vom Start bis zur Fertigstellung der Batchdatei und der Rückkehr zur Eingabeaufforderung etwa 39 Sekunden vergingen.
WinSW meldet sich bei der Ereignisanzeige an. Ich habe die Nachrichten überprüft und festgestellt, dass WinSW protokolliert hat, dass der Vorgang erfolgreich mit einem Exitcode von 0 abgeschlossen wurde.
Also habe ich die Art und Weise geändert, wie der Server gestartet und ausgeführt wird. Ich habe den Befehl von server.bat start yourServer in server.bat run yourServer geändert. Das hat funktioniert. Ich kann den Server jetzt starten und stoppen.
In meinem Fall verwende ich WinSW. Für WinSW muss eine XML-Datei konfiguriert werden. Ich habe server.bat mit den Startargumenten „run“ und „yourServer“ zum Starten des Dienstes verwendet. Ich habe die Stoppargumente „stop“ und „yourServer“ zum Stoppen des Dienstes verwendet.
Die WinSW-Dokumentation reicht für den Einstieg aus.
Ich kenne Ihre genaue Situation nicht und kann daher keine Beispiele anhand Ihrer Konfiguration liefern.