我需要从Java代码重新启动tomcat。

例如,如果某个时间段内未执行查询,则它将自动重新启动tomcat。

我尝试了以下关闭和启动代码,但是当我们关闭tomcat时,Java代码将不会运行,并且tomcat也不会启动。

注意:-我正在从一个应用程序运行此代码,并重新启动同一应用程序正在使用的tomact。

遵循代码

try {

    PreparedStatement.setQueryTimeout(10);
    rs = PreparedStatement.executeQuery();

} catch (SQLException ex) {

   System.out.println("IN CATCH BLOCK FOR THE REFRESH INVOICE");

   String shutcommand = "killall java";
    Process shutchild = Runtime.getRuntime().exec(shutcommand);

    System.out.println("JAVA PROCESS KILLED");

    String locationCommand = "cd /root/cluster/tomcat6/bin";
    Process locationChild = Runtime.getRuntime().exec(locationCommand);

    String strtcommand = "./startup.sh";
    Process strtchild = Runtime.getRuntime().exec(strtcommand);
}

最佳答案

SQLException之后杀死tomcat,这不是处理此异常的好主意。问题可能出在数据库站点上。

但是如果您确定确实需要它,则可以在本节中取消该Java过程,但是要运行tomcat,则应使用例如bash和cron。为什么?杀死执行代码后的行为将停止,因此您无法实现启动tomcat的那一行。

如何检查tomcat:Is Tomcat running?

10-07 19:22
查看更多