JAVA实现监测tomcat是否宕机及控制重启的方法

本文实例讲述了JAVA实现监测tomcat是否宕机及控制重启的方法。分享给大家供大家参考。具体如下:

Detector.java:

import java.net.URL;

import java.net.URLConnection;

import java.util.Date;

/**

*

* @author james

*

*/

public class Detector {

private static void keepTomcatAlive() throws NullPointerException {

String s;

String t = new String("tomcat6");

boolean isTomcatAlive = false;

java.io.BufferedReader in;

System.setProperty("sun.net.client.defaultConnectTimeout", "8000");

System.setProperty("sun.net.client.defaultReadTimeout", "10000");

try {

URL url = new URL("http://localhost:8080/test.jsp");

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) {

//accessed page successful.

return;

}

}

in.close();

} catch (Exception ex) {

//ex.printStackTrace();

}

try {

java.lang.Process p = java.lang.Runtime.getRuntime().exec("ps -aux");

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(" Tomcat is alive but not response!");

stopTomcat();

}

startTomcat();

}

public static void stopTomcat() {

try {

java.lang.Process p = java.lang.Runtime.getRuntime().exec("/etc/init.d/tomcat6 stop");

java.io.BufferedReader in = new java.io.BufferedReader(new java.io.InputStreamReader(p.getInputStream()));

String s;

String t = "Stopping";

boolean restart = false;

while ((s = in.readLine()) != null) {

if (s.indexOf(t) != -1) {

restart = true;

break;

}

}

System.out.println(" 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("/etc/init.d/tomcat6 start");

java.io.BufferedReader in = new java.io.BufferedReader(new java.io.InputStreamReader(p.getInputStream()));

String s;

String t = "Starting";

boolean restart = false;

while ((s = in.readLine()) != null) {

if (s.indexOf(t) != -1) {

restart = true;

break;

}

}

System.out.println(" Tomcat is start " + (restart ? "OK" : "ERROR"));

} catch (Exception e) {

e.printStackTrace();

}

}

private static void debug(String msg){

System.out.println("Debug::: "+msg);

}

public static void main(String[] args) {

while (true) {

try {

debug("Detect agin ");

Detector.keepTomcatAlive();

debug("Sleep...");

Thread.sleep(30000);

} catch (Exception ex) {

ex.printStackTrace();

}

}

}

}

希望本文所述对大家的java程序设计有所帮助。相关阅读:

jsp只在首次加载时调用action实现代码

win7系统启动Zend Studio弹出Failed to create the Java Virtual Machine的解决方法

jquery实现邮箱自动填充提示功能

在.ashx文件中获取cookies值实现代码

java 保留两位小数的几种方法

C#中out保留字用法实例分析

如何不使用第三方软件在Win10中固定IP?不用第三方软件在Win10中固定IP的方法

Yii2组件之多图上传插件FileInput的详细使用教程

ASP.NET中获取URL重写前的原始地址详解

Android 使用Intent传递数据的实现思路与代码

Winform实现调用asp.net数据接口实例

java发送内嵌图片邮件

mac os x yosemite出现王玉bug怎么办?mac os x yosemite出现王玉bug的解决方法

Java网络编程之简单的服务端客户端应用实例

php监测tomcat,java_JAVA实现监测tomcat是否宕机及控制重启的方法,本文实例讲述了JAVA实现监测tom - phpStudy...相关推荐

  1. java 宕机监控_JAVA实现监测tomcat是否宕机及控制重启的方法

    本文实例讲述了JAVA实现监测tomcat是否宕机及控制重启的方法.分享给大家供大家参考.具体如下: Detector.java: import java.net.URL; import java.n ...

  2. linux下查看tomcat宕机并自动重启

    1.在服务器上创建tomcatMonitor.sh 2.使服务器.sh文件生效chmod u+x *.sh 3.编辑tomcatMonitor.sh文件,if及fi必须成对出现,如果if then写在 ...

  3. php 解析java map,java_java遍历Map的几种方法分析,本文实例分析了java遍历Map的几 - phpStudy...

    java遍历Map的几种方法分析 本文实例分析了java遍历Map的几种方法.分享给大家供大家参考,具体如下: Java代码: Map map=new HashMap(); map.put(" ...

  4. java tomcat 监控_java程序监控tomcat实现项目宕机自动重启并发送邮件提醒

    最近由于老项目频繁挂掉,由于项目经过多批人之手,短时间难以定位问题,所以只好写一个监控程序. 时间比较紧半天时间,而且水平有限大神勿喷,有好的方法还请赐教. 1.问题描述:分两种情况1.1.tomca ...

  5. Tomcat目录结构及Tomcat Server处理一个http请求的过程

    http://blog.sina.com.cn/s/blog_62cb15980101jh9x.html 1.Tomcat的结构概述 Tomcat服务器是由一系列可配置的组件构成,其核心组件是Cata ...

  6. linux tomcat守护_linux 设置tomcat为守护进程教程

    然后我们写一个脚本来监测tomcat进程是否停掉,如果挂了,自动拉起,脚本如下: #!/bin/bash  echo "Start"  URL="http://127.0 ...

  7. How Tomcat works — 四、tomcat启动(3)

    上一节说到StandardService负责启动其子组件:container和connector,不过注意,是有先后顺序的,先启动container,再启动connector,这一节先来看看conta ...

  8. Tomcat是什么:Tomcat与Java技、Tomcat与Web应用以及Tomcat基本框架及相关配置

    1.Tomcat是什么        Apache Tomcat是由Apache Software Foundation(ASF)开发的一个开源Java WEB应用服务器. 类似功能的还有:Jetty ...

  9. linux 程序定时重启tomcat,linux下实现tomcat定时自动重启

    tomcat自带的脚本中没有提供直接restart的模式,但是有start和shutdown两种模式.要实现restart模式,实际上只需要判断是否已经启动tomcat,若已经启动则限制性shutdo ...

最新文章

  1. python算法题_Python算法题
  2. 基于贝叶斯算法实现简单的分类(java)
  3. 01Python基础_09异常
  4. C语言中的sizeof解析
  5. 5、HTML块级元素及行内元素
  6. Java程序员必须掌握的7个Java性能指标!
  7. 收集几个移动平台浏览器的User-Agent
  8. android framework,GitHub - zhaozepeng/Android_framework: android framework 用来快速开发的android框架...
  9. 参数列表和数组的相互转换
  10. STM32 - 定时器基础应用说明 - 04 - N-pulse waveform generation using one-pulse mode - 用OPM模式产生N次脉冲
  11. 用 X 光检测新冠肺炎?也许孪生网络+迁移学习是更好的选择!
  12. 用C#实现屏幕键盘!
  13. [官方消息]优秀云大使推广经验分享合集
  14. java生成word带多级标题,word自动生成多级标题的方法
  15. oppor829t如何刷机_科普OPPO R1 R829T的线刷教程及最简单的三星手机刷机教程
  16. python代码格式化工具下载_python 代码格式化工具:autopep8
  17. 1000:从今天开始入坑C语言
  18. AsyncTask是什么
  19. 数据结构-列出连通集(图的操作)
  20. “云控制服务”的设想

热门文章

  1. opencv +opencv_contrib+CMake+VS2015
  2. 解决:无法添加符号: DSO missing from command line
  3. Win10(Server)与Ubuntu18.04(Client)使用Synergy--键盘鼠标共享
  4. Python3.6读写串口操作
  5. Android 2.3.5/4.0.3/4.1PowerManager简单总结和心得体会
  6. 主板插槽接口相关释义
  7. vue + elementUI 框架下给el-table 增加一条数据,默认滚动条定位到表格的最底部
  8. 嵩天python123测试3_嵩天老师python123测验3: 基本数据类型 (第3周)
  9. ubuntu 开启dhcp服务并配置
  10. CSDN如何快速更换皮肤