2017-08-25 7 views
-1

Ich benutze Java 1.8 und Spring-Boot-Starter-Elternteil 1.5.6.RELEASE und Swagger2 2.6.1. Wir führen die Anwendung in der VM unter Verwendung des folgenden Befehls aus:Wie kann ich eine Java-Anwendung neu starten, wenn die VM (virtuelle Maschine) neu gestartet wird?

Meine Anwendung wird gestoppt, wenn die VM gestoppt wird. Also manuell muss ich meine Anwendung starten. Ich möchte das nicht manuell machen. Ich muss meine Anwendung programmgesteuert neu starten oder jedes Skript wird dies tun, das ist auch in Ordnung für mich.

Wie starte ich meine Anwendung neu, wenn VM gestartet wird?

Bitte geben Sie Ihre Eingaben.

+0

Suchen Sie nach Betriebssystemoptionen. Linux Cron Job wahrscheinlich. –

+1

starten Sie es als Service –

+1

Wie starte ich als Service? Kannst du das im Detail erklären. Danke! – SST

Antwort

0

In einer Linux-Distribution, die systemd (offizielle Dokumentation here) (wie Debian, Ubuntu oder Fedora) verwendet, die Schaffung eines service einfach:

Wir werden einen Service Datei erstellen müssen, die sagt, systemd wie Sie Ihre Anwendung starten. Erstellen Sie eine Datei in /etc/systemd/system einem Namen wie myApplication.service enthält die folgenden Zeilen:

[Unit] 
Description="A description of what my application does" 

[Service] 
ExecStart=/path/to/java -jar /path/to/your/myApplication.jar 

[Install] 
WantedBy=multi-user.target 

(von an example in the docs abgeleitet.)

Dann systemctl enable myApplication.service als root ausführen, es zu ermöglichen, was es beim Booten laufen lassen.

Sie können noch viel mehr lernen; Die Dokumente für Systemd sind ziemlich gut. Sie können einen Blick auf die blog story werfen, die auch Systemd eingeführt hat, da dies eine Art "Verkaufsgespräch" dafür bietet, was es tun kann.

Verwandte Themen