- import java.net.URL;
- import java.net.URLConnection;
- import java.util.Date;
- /**
- *
- * @author 赵学庆,Java世纪网(java2000.net)
- *
- */
- public class Detector {
- private static void keepTomcatAlive() throws NullPointerException {
- String s;
- String t = new String("tomcat5.exe");
- boolean isTomcatAlive = false;
- java.io.BufferedReader in;
- try {
- URL url = new URL("http://localhost/heartbeat.htm");
- URLConnection con = url.openConnection();
- in = new java.io.BufferedReader(new java.io.InputStreamReader(con.getInputStream()));
- con.setConnectTimeout(1000);
- con.setReadTimeout(4000);
- while ((s = in.readLine()) != null) {
- if (s.length() > 0) {
- // 如果能够读取到页面则证明可用
- return;
- }
- }
- in.close();
- } catch (Exception ex) {
- }
- try {
- java.lang.Process p = java.lang.Runtime.getRuntime().exec("tasklist");
- in = new java.io.BufferedReader(new java.io.InputStreamReader(p.getInputStream()));
- while ((s = in.readLine()) != null) {
- if (s.startsWith(t)) {
- isTomcatAlive = true;
- break;
- }
- }
- in.close();
- } catch (Exception e) {
- e.printStackTrace();
- }
- if (isTomcatAlive) {
- System.out.println("<" + new Date() + "> Tomcat is alive but not response!");
- stopTomcat();
- }
- startTomcat();
- }
- public static void stopTomcat() {
- try {
- java.lang.Process p = java.lang.Runtime.getRuntime().exec("net stop /"Apache Tomcat/"");
- java.io.BufferedReader in = new java.io.BufferedReader(new java.io.InputStreamReader(p.getInputStream()));
- String s;
- String t = "成功停止";
- boolean restart = false;
- while ((s = in.readLine()) != null) {
- if (s.indexOf(t) != -1) {
- restart = true;
- break;
- }
- }
- System.out.println("<" + new Date() + "> Tomcat is stop " + (restart ? "OK" : "ERROR"));
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- public static void startTomcat() {
- try {
- java.lang.Process p = java.lang.Runtime.getRuntime().exec("net stop /"Apache Tomcat/"");
- } catch (Exception e) {
- e.printStackTrace();
- }
- try {
- java.lang.Process p = java.lang.Runtime.getRuntime().exec("net start /"Apache Tomcat/"");
- java.io.BufferedReader in = new java.io.BufferedReader(new java.io.InputStreamReader(p.getInputStream()));
- String s;
- String t = "启动成功";
- boolean restart = false;
- while ((s = in.readLine()) != null) {
- if (s.indexOf(t) != -1) {
- restart = true;
- break;
- }
- }
- System.out.println("<" + new Date() + "> Tomcat is start " + (restart ? "OK" : "ERROR"));
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- public static void main(String[] args) {
- while (true) {
- try {
- Detector.keepTomcatAlive();
- Thread.sleep(30000);
- } catch (Exception ex) {
- }
- }
- }
- }
相关推荐
tomcat创建bat启动,结合任务计划实现自动重启tomcat服务
本文介绍了创建Tomcat定时重启脚本的方法。通过编写批处理文件(.bat),设置Tomcat服务名称和日志路径,脚本能够自动检测服务状态并执行重启操作。内容包括:1)创建批处理文件,设置服务名和日志路径;2)获取当前时间并记录日志;3)查询服务状态,执行停止/启动操作;4)结合Windows任务计划实现定时重启。该脚本具有完善的日志记录功能,可记录操作状态和错误信息,便于故障排查。
windows下tomcat无故宕机,检测http或https服务,并自动重启Tomcat服务
curl(全称Client URL):用于在命令行下运行的网络工具,用于与服务器进行通信。它支持多种协议,支持DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, Telnet and TFTP。
tomcat 定时重启工具
由于工作需求,本人自己制作的 Tomcat 定时重启小工具,监听Tomcat的CMD运行窗口,计算运行时间,来完成 定时重启任务,配置可以自动临时保存,不生成多余文件。打算在后续版本中加入一个 HTTP监听任务,判断是否宕机。联系Q 58599886
检测tomcat服务状态,自动重启Tomcat
第一种方式:监控请求 原理很简单。 在机器上做一个测试的文件。如果我们的程序能够读取到这个文件,则证明运行正常,可简单实现Tomcat HA. import java.net.URL;import java.net.URLConnection;import java.util.Date; public class Detector { private stat
检测Tomcat运行状态-自动重启
检测Tomcat运行状态-自动重启
Android系统循环重启测试DEMO
Android开机后循环重启的测试例子,用于系统压力测试,可以点击停止测试按键结束测试
如何测试Tomcat是否启动成功_查看tomcat运行状态,资深软件测试开发带你入门Framework
(1)不要关闭刚刚启动的Tomcat,打开浏览器在地址栏输入“localhost:8080”回车,出现Apache Tomcat主页说明Tomcat已经成功启动。(2)不要关闭刚刚启动的Tomcat,打开浏览器在地址栏输入“127.0.0.1:8080”回车,出现Apache Tomcat主页说明Tomcat已经成功启动。对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!让你陷入忐忑,让实际上本不糟糕的事情,变得糟糕。
java tomcat 监控程序
java实现 监听 服务程序 如果程序挂掉 则自动重启程序 并给开发人员发送短信 如有疑问可已咨询1076791016@qq.com 对于线上程序异常又短时寻找不到解决方案的治标之法
验证Tomcat进程是否启动成功 ps -ef | grep tomcat
ps命令是linux下非常强大的进程查看命名,通过ps -ef可以查看当前运行的所有进程的详细信息“|”在linux中称为管道符,可以将前一个命令的结果输出给后一个命令作为输入 使用ps命令查看进程时,进程配合管道符合查找命令grep一起使用,来查看特定进程
如何测试Tomcat是否启动成功
今天教给大家Tomcat的两种打开方式和两种检测方法。 1、打开方式 (1)打开安装Tomcat的目录,在Tomcat文件夹下找到bin目录,双击startup.bat脚本文件启动Tomcat,如图所示: (2)同时按下“Win+R”键,然后在弹出的对话框中输入“cmd”并按回车键。在命令提示符界面中输入“startup.bat”并回车,同样可以打开Tomcat。如图: 2、检测方法 (1)不要关闭刚刚启动的Tomcat,打开浏览器在地址栏输入“localhost:8080”回车,出现Apache Tomcat主页说明Tomcat已经成功启动。如图: (2)不要关闭刚刚启动的Tomca
基于DFT的mbist sdc模板(DFT)
摘要:本文详细介绍了DFT测试模式下的SDC约束方法。
2026自动化零部件降本实战:八大核心策略与选型优化指南
在制造业降本增效的长期命题下,设备成本控制早已从单纯压价进化为全生命周期管理。自动化设备由机械结构件、运动部件、电气器件及装配调试构成,其中伺服系统、减速机、传感器等零部件的选型与供应链策略,直接决定设备综合成本与稳定性。面对年降压力与材料成本上涨,企业需从TCO视角重新审视采购决策,通过直驱模组替代、气动压力分级、轴承滑块统型、传感器通用化及国产双源认证等路径,在保证可靠性的前提下压缩隐性支出。标准化模块设计和预测性维护的引入,则进一步降低装配工时与停机风险。本文梳理自动化零部件降本的八个高回报方向,结合
Hypermesh2021实战:塑料圆盘结构化网格划分全流程(附避坑指南)
本文详细介绍了使用Hypermesh2021进行塑料圆盘结构化网格划分的全流程操作,包括几何预处理、网格生成策略及质量验证。特别针对工程实践中常见的12个典型问题提供解决方案,帮助用户提升CAE仿真分析的精度和效率。
1065



被折叠的 条评论
为什么被折叠?



