2011-03-17 60 views
0

我想在Windows XP重新啓動Tomcat服務託管,我創建了調用批處理文件在我restart_tomcat添加通過servlet的重新啓動Tomcat的服務,這是在同一Tomcat

public void doGet (HttpServletRequest req, HttpServletResponse res) 
throws ServletException, IOException { 

     Process p = Runtime.getRuntime().exec("c:\restart_tomcat.bat"); 
} 

以下兩行一個servlet .BAT

net stop "Tomcat6" 
    net start "Tomcat6" 

請求服務器URL停止Tomcat服務器但是它未啓動。然而,當我運行的批處理文件restart_tomcat.bat,做工精細

回答

0

試試這個

Runtime.getRuntime().exec("cmd.exe /c start c:\restart_tomcat.bat"); 
0

的過程(如restart_tomcat.bat)是由JVM推出很可能被殺害過當VM退出使net start從不執行。 Tomcat使用Commons Daemon,不幸的是,它不支持JVM重新啓動。 (或者我不怎麼去做。)

快速破解:將服務恢復模式設置爲自動重啓。

長期來看,還有很多其他的JVM as a Service options其中一些支持自動重新啓動。