4

このTomcatで実行されているWebアプリからTomcatサービスを再起動する必要があります。だから私はtomcatサービスを停止してからそれを開始するスクリプトを実行しようとしています:

echo "before stop" >> textfile.txt
NET STOP "Tomcat7"

:loop
    timeout 3
    SC query Tomcat7 | FIND "STATE" | FIND "RUNNING" > NUL

IF ERRORLEVEL 1 (
    goto start
) ELSE (
    goto loop
)

:start
    NET START "Tomcat7"

Javaコード:

   String command = "C:\\Tomcat 7.0\\bin\\restart.bat";
   Process p = Runtime.getRuntime().exec(command);

Tomcatは停止していますが、開始されていません。このバッチをコマンドラインから実行すると、正しく機能します。

お時間をいただきありがとうございます

4

3 に答える 3

4

これはうまくいきました:

        String fileName = "C:\\Tomcat 7.0\\bin\\restart.bat";
        String[] commands = {"cmd", "/c", "start", "\"DummyTitle\"",fileName};
        Runtime.getRuntime().exec(commands);

http://www.rgagnon.com/javadetails/java-0014.htmlから取得

于 2012-08-09T14:31:26.063 に答える
4

あなたが求めていることは正確に安全で可能ではありませんが、Tomcat の展開とインスタンスをプログラムで操作できる Tomcat マネージャー API を見てください。

http://tomcat.apache.org/tomcat-7.0-doc/api/index.html

http://tomcat.apache.org/tomcat-7.0-doc/api/org/apache/catalina/manager/host/HostManagerServlet.html

于 2012-08-09T00:00:47.507 に答える