700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > tomcat宕机自动重启和每日定时启动tomcat

tomcat宕机自动重启和每日定时启动tomcat

时间:2022-09-28 07:48:30

相关推荐

tomcat宕机自动重启和每日定时启动tomcat

在项目后期维护中会遇到这样的情况,tomcat在内存溢出的时候就出现死机的情况和遇到长时间不响应,需要人工手动关闭和重启服务,针对这样的突发情况,希望程序能自动处理问题而不需要人工关于,所以才有了目前的需求。

一、设置tomcat定时启动

1,首先将tomcat注册为服务,先打开tomcat的bin目录下service.bat文件,修改下面的值,这是sevvice的注册名称和显示名称,一般可使用默认值。

set SERVICE_NAME=Tomcat7set PR_DISPLAYNAME=Apache Tomcat

【然后修改jvm大小,搜索到--JvmMs 128 --JvmMx 256 进行修改,因为做成服务启动,启动的时候就不会用到 catalina.bat,也就不会读取里面的jvm设置了。】(可选,可以不设置)

然后运行cmd命令窗口,cd 到tomcat的bin目录下,运行下面的命令service.bat install运行成功过后,会提示服务已经安装成功。

2,制作重启脚本restart.bat,文件内容如下net stop Tomcat7net start Tomcat7

3,利用控制面板里面的“任务计划”设置第2步的脚本运行时间计划

4,如果想删除服务,也很简单,先把服务停掉,然后在cmd窗口运行下面的命令即可,后面那个Tomcat7是服务名。sc delete Tomcat7

需要注意的是,需要先把服务停掉,才能一次删除成功,或者删除之后再停止服务,就会发现服务已经删除成功了。

二、监听tomcat

只要运行start.bat即可,相关配置在config.properties文件中,默认即可, 如果服务名不对应就修改关闭和启动命令的服务名即可:net start 【Tomcat7】括号中服务名,然后运行start.bat

下面是具体的监听代码:

首先是监听类TomcatMonitor .Java:

[java]view plaincopyimportjava.io.BufferedReader; importjava.io.IOException; importjava.io.InputStream; importjava.io.InputStreamReader; .MalformedURLException; .URL; .URLConnection; importjava.util.Properties; /** *@describe:TomcatMonitor.java * *@date-7-4 *@authorliuweilong */ publicclassTomcatMonitorimplementsRunnable{ Stringstart="";//系统命令启动 Stringstop="";//系统命令关闭 StringtestHttp="";//测试连接地址 inttestIntervalTime=1;//测试连接间隔时间,单位为秒 intwaitIntervalTime=2;//等待测试间隔时间,单位为秒 inttestTotalCount=5;//测试连接总次数 Threadthread=null; publicTomcatMonitor(){ InputStreamin=TomcatMonitor.class.getResourceAsStream("config.properties"); Propertiesp=newProperties(); try{ p.load(in); stop=p.getProperty("stop"); start=p.getProperty("start"); testHttp=p.getProperty("testHttp"); testIntervalTime=Integer.parseInt(p.getProperty("testIntervalTime")); waitIntervalTime=Integer.parseInt(p.getProperty("waitIntervalTime")); testTotalCount=Integer.parseInt(p.getProperty("testTotalCount")); }catch(Exceptione){ e.printStackTrace(); } System.out.println("*******************初始化成功!*******************"); thread=newThread(this); thread.start(); } publicvoidrun(){ System.out.println("正在监控中..."); inttestCount=0; while(true){ testCount=0; testCount++; booleanisrun=test(); System.out.println("正在启动测试连接,尝试连接次数为:"+testCount+",结果为:"+(isrun==false?"失败.":"成功!")); while(!isrun){ if(testCount>=testTotalCount)break; try{ thread.sleep(testIntervalTime*1000); }catch(InterruptedExceptione){ e.printStackTrace(); } testCount++; System.out.println("正在启动测试连接,尝试连接次数为:"+testCount+",结果为:"+(isrun==false?"失败.":"成功!")); isrun=test(); } if(!isrun){ try{ //关闭tomcat服务 Processproc=Runtime.getRuntime().exec(stop); thread.sleep(5000); //启动tomcat服务 System.out.println("测试连接失败,正在重启tomcat"); Processp=Runtime.getRuntime().exec(start); System.out.println("重启tomcat成功"); }catch(Exceptione){ e.printStackTrace(); System.out.println("重启tomcat异常,请查看先关错误信息。。。。。"); } } try{ thread.sleep(waitIntervalTime*1000); }catch(InterruptedExceptione){ e.printStackTrace(); } isrun=test(); } } publicbooleantest(){ URLurl=null; try{ url=newURL(testHttp); }catch(MalformedURLExceptione){ e.printStackTrace(); } try{ URLConnectionurlConn=url.openConnection(); urlConn.setReadTimeout(15000); BufferedReaderreader=newBufferedReader(newInputStreamReader(urlConn.getInputStream()));//实例化输入流,并获取网页代码 Strings; while((s=reader.readLine())!=null){ returntrue; } }catch(Exceptione){ returnfalse; } returnfalse; } publicstaticvoidmain(String[]args)throwsException{ TomcatMonitortm=newTomcatMonitor(); } }

然后是对应的配置文件config.properties:[plain]view plaincopy#系统命令启动 start=netstartTomcat7 #关闭 stop=netstopTomcat7 #测试连接总次数 testTotalCount=3 #连接失败时,再次检测时间间隔,单位为秒 testIntervalTime=3 #连接超时时间,即多少秒tomcat没响应视为宕机,单位为秒 connectionTimeout=15 #tomcat启动时间,防止在tomcat尚未启动完成的时候,程序又去检验tomcat状态,造成尚未启动完成又重新启动,单位为秒 tomcatStartTime=600 #测试连接地址 testHttp=http://127.0.0.1:8080 #正常情况下,每次检测间隔时间,单位为秒 waitIntervalTime=30

最后是启动的start.bat:[plain]view plaincopyjava-cp.TomcatMonitor

如何监控tomcat死掉后自动重启

安装设置分为以下四个步骤:第一:创建监控页面在项目系统里添加一个提供监控系统访问的页面monitor.jsp,只需输出一句代码,代码如下:<%String s=”ok”;out.println(s.length());%>第二:修改tomcat配置若是系统自动安装的服务,可直接跳过这一步。但是需确定服务名称,以便在以后的步骤使用,如下图:

若是手动为tomcat设置服务,请按以下步骤进行:

1、进入tomcat目录下的bin目录,用记事本打开service.bat文件,找到set SERVICE_NAME=TOMCATXX这一句,把后面的值改成自己对tomcat设置的服务名,把PR_DISPLAYNAME的值设置为显示的服务名称,这个是在系统管理的服务里面中列表里显示的名字。

如设置信访系统,则设置为这样:

Set SERVICE_NAME=xfgl

Set PR_DISPLAYNAME=tomcat xfgl

保存。

2、在运行里输入“CMD”,进入命令控制台,使用cd命令转到tomcat目录下的bin目录,运行service.bat install命令,把tomcat设置为系统启动服务。

3、进入控制面板->管理工具->服务,在服务列表中找到“tomcat xfgl”一项,双击弹出窗口,把启动类型改为“自动”,确定保存。

设置监控脚本文件

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。