我使用 stratup.bat 以独立模式(作为Windows进程)启动了tomcat-8.5,我想从我的Java代码中确认tomcat进程是否正在运行。 请为我建议一种从Java代码中查找tomcat进程的解决方案。
java-8中的现有代码:tools.jar
import sun.jvmstat.monitor.MonitoredHost;
import sun.jvmstat.monitor.MonitoredVm;
import sun.jvmstat.monitor.MonitoredVmUtil;
import sun.jvmstat.monitor.VmIdentifier;
// procName = “Bootstrap”
/**
* Confirm startup of server process
* Obtain process information of JavaVM and check whether
specified startup class is running
* true: Starting / false: not running
*/
private static boolean checkServerProcess(String procName) {
boolean blRet = false;
try {
MonitoredHost host =
MonitoredHost.getMonitoredHost("localhost");
for (Object processId : host.activeVms()) {
MonitoredVm vm = host.getMonitoredVm(new VmIdentifier("//" +
processId + "?mode=r"));
if(MonitoredVmUtil.mainClass(vm, true).contains(procName)) {
blRet = true;
break;
}
}
} catch(Exception e) {
blRet = false;
}
return blRet;
}
由于tools.jar在最新的jdk中已删除,因此我们想知道检查tomcat状态的替代解决方案。
谢谢