我需要从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?