谋生者 发表于 2013-2-4 14:35:08

windows下的tomcat监控器

最近写了一下windows下监控tomcat的小应用,主要功能就是当发现tomcat挂掉的时候就会去重启服务,可以省了很多事,但是在linux下还不行,等我研究通了再发上来吧,呵呵。。
下面是主要的代码块
          //线程
public void run() {//启动被监控程序 try {File file = new File("");            String path=file.getAbsolutePath().replaceAll("\\\\","//");            readTxt(path+"//bin//test.txt","");if ("true".equals(flag.trim())) {URL url = new URL(myUrl);conn = (HttpURLConnection) url.openConnection();conn.getResponseCode();System.out.println("页面已经启动了.......");}else{System.out.println("flag=false,关闭。。。。。。");time.cancel();//取消监控}} catch (MalformedURLException e1) {e1.printStackTrace();} catch (IOException e) {System.out.println("页面已经挂掉了.......");try {Runtime.getRuntime().exec(tomcatCloseUrl);System.out.println("tomcat关闭.......");Runtime.getRuntime().exec(tomcatOpenUrl);System.out.println("tomcat打开.......");} catch (IOException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}}}       //启动方法public static void startThread(int time1, int time2) {time = new Timer();ReadSourceAndRun w = new ReadSourceAndRun();time.schedule(w, time1, time2);} 

  这里还需要一个资源文件(txt格式),从这个文件里读取执行命令,如:停止执行、开始执行

  读取文件的主要代码
   /** * 读取文本文件内容 * @param filePathAndName 带有完整绝对路径的文件名 * @param encoding 文本文件打开的编码方式 * @return 返回文本文件的内容 */public static String readTxt(String filePathAndName, String encoding)throws IOException {encoding = encoding.trim();StringBuffer str = new StringBuffer("");String st = "";try {FileInputStream fs = new FileInputStream(filePathAndName);InputStreamReader isr;if (encoding.equals("")) {isr = new InputStreamReader(fs);} else {isr = new InputStreamReader(fs, encoding);}BufferedReader br = new BufferedReader(isr);try {String data = "";while ((data = br.readLine()) != null) {str.append(data + " ");if(data.startsWith("url=")){myUrl=data.substring(data.indexOf("http"));;}if(data.startsWith("tomcatCloseUrl=")){tomcatCloseUrl=(data.substring(data.indexOf("tomcatUrl")+16));}if(data.startsWith("tomcatOpenUrl=")){tomcatOpenUrl=(data.substring(data.indexOf("tomcatOpenUrl")+14));}if(data.startsWith("flag=")){flag=data.substring(data.indexOf("flag")+5);}fs.close();isr.close();}} catch (Exception e) {str.append(e.toString());}st = str.toString();} catch (IOException es) {st = "";}return st;} 
这是一个web应用,大家可以把附件下下来看看。 
页: [1]
查看完整版本: windows下的tomcat监控器