Wie kann man Tomcat mit Java-Code starten und stoppen?
Antworten
Zu viele Anzeigen?Sie können den Shutdown-Befehl an den Shutdown-Port senden, die beide im Root-Element der server.xml-Datei von Tomcat konfiguriert werden können.
Nach und nach:
Schritt 1
Konfigurieren Sie die Datei CATALINA_HOME/conf/server.xml wie folgt:
<Server port="8005" shutdown="myShutDownCommand">
Das Attribut port ist fakultativ. Wird es weggelassen, wird der Standardwert 8005 verwendet.
Der Wert für das Attribut shutdown kann beliebig sein. Dies sollte anderen nicht bekannt sein.
Schritt 2
Lassen Sie das Java-Programm den Shutdown-Befehl myShutDownCommand mit der Klasse java.net.Socket an den Shutdown-Port 8005 senden.
try {
Socket socket = new Socket("localhost", 8005);
if (socket.isConnected()) {
PrintWriter pw = new PrintWriter(socket.getOutputStream(), true);
pw.println("myShutDownCommand");//send shut down command
pw.close();
socket.close();
}
} catch (Exception e) {
e.printStackTrace();
}
Sie müssen Folgendes ausführen main
Methode der org.apache.catalina.startup.Bootstrap
mit dem Parameter "start"
.
Sie benötigen außerdem folgende Dinge:
- zu haben
tomcat/bin/bootstrap.jar
in Ihrem Klassenpfad; -Dcatalina.base
zeigen auf$TOMCAT_HOME
-Dcatalina.home
zeigen auf$TOMCAT_HOME
-Djava.io.tmpdir
auf ein temporäres Verzeichnis verweisen (normalerweise$TOMCAT_HOME/temp
)
Ich habe auch -noverify
nicht sicher, ob dies immer notwendig ist.
p.s. Es wäre auch schön, wenn Sie anfangen könnten, Antworten zu akzeptieren, Ihre derzeitige Rate ist 0/28.