日期:2014-05-20  浏览次数:20797 次

有办法定时自动重启Tomcat吗?
要求:tomcat每周一凌晨2点自动重启
软件:Windows系统、Tomcat5.5(免安装版,没有Windows服务的那种)

Tomcat每运行一段时间后当机,重启一下就可以了,这样对客户来说极不友好,所以想做成自动重启,最好是能在Tomcat的相关配置文件中配置,而不是由用户在操作系统中去设置(如Windows计划任务)。如果这样不行,那就由用户在操作系统中设置吧,但要怎么设置?我试过Windows计划任务,没有成功。请各位朋友详细说一下吧。
总的来说,是要系统自动重启Tomcat,不管是Tomcat自身系统还是操作系统,当然最好是Tomcat自身啦。不要那种bat文件啊什么的 

一句话:要系统自动调度管理,而非人为管理

------解决方案--------------------
用windows的计划任务呀
------解决方案--------------------
不好意思太激动了没有注意到 用listener
在用java执行bat或者执行 net stop tomcat5 & net start tomcat5
------解决方案--------------------
可以用java的开源定时库quartz

另外,计划任务和bat脚本配合也可以的,下载gnuwin32,里面有很多命令可以辅助,比如kill。

@rem 先调用tomcat关闭脚本
shutdown.bat

@rem 睡5分钟,等待完全关闭
sleep 300000

@rem如果还有javaw就kill掉,这里估计要用命令组合,我只提供一种范例
kill javaw

@rem 再睡5分钟,等待完全关闭
sleep 300000

@rem 调用tomcat开始脚本
startup.bat
------解决方案--------------------
不是在java中使用bat,就是设置计划任务,半夜2点启动bat文件。

quartz我不会写~
------解决方案--------------------
如果是部署在Linux上可以用crond来实现