该帖已经被评为隐藏帖
|
|
---|---|
作者 | 正文 |
发表时间:2011-01-19
最后修改:2011-01-20
公司里不知哪个“专家”做的项目,总把tomcat搞崩溃,于是请我出山解决问题。我这个庸医自然根据头痛医头的原则,想到解决方法就是监控某个网页,死了就让tomcat启动。有了这个妙方,习惯了拿来主义的我自然先google一番,找到一个web monitor的工具,玩了一下感觉很差劲,还要注册。找个破解法自然不难,但天朝的环境木马横行,随时“领也”。真是岂有此理,这样一个小破玩意还要收费。我DIY还不行吗。 于是,2天之后,一个经过优雅设计的工具浮出水面。下面是这个工具的配置文件,一目了然: <?xml version="1.0" encoding="UTF-8"?> <TaskManager> <!-- 周期性任务 --> <ScheduleTask > <!-- 时间间隔,单位为毫秒 --> <interval>20000</interval> <!-- URL监视器 --> <Monitor> <url>http://baidu.com</url> </Monitor> <!-- 监控失败处理队列 --> <!-- 运行程序 --> <RunProgram> <path>E:\qq.exe</path> </RunProgram> </ScheduleTask> <ScheduleTask > <interval>30000</interval> <Monitor> <url>http://localhost</url> </Monitor> <!-- 监控失败处理队列 ,多个动作 START--> <RunProgram> <path>E:\cluster\tomcat7\bin\startup.bat</path> </RunProgram> <!-- 发送邮件 --> <SendMail> <receiver>holdmydream@126.com</receiver> <subject>杯具啊</subject> <content>你的程序已经杯具。不必太伤心,神马都是浮云。</content> </SendMail> <SendMail> <receiver>javaeye2010@126.com</receiver> <subject>杯具啊</subject> <content>你的程序打酱油了。不给力啊。</content> </SendMail> <!-- 监控失败处理队列 ,多个动作 END--> </ScheduleTask> </TaskManager> 配置好后,直接运行start.bat,以后你就不用半夜起来重启tomcat了。当然,这个工具的功能远不止重启tomcat,好好领会。下面是这个程序的类图: 程序打包下载。 补充:有人以为配置是固定的,其实不然。上面只是一个例子。 主要设计思想是:一个任务有一个动作和多个处理器,任务,动作,处理器都可以不断扩展,自由搭配。 例如扩展一个定时任务<OnTimeTask>,动作是关闭某个进程<KillProcess>,处理器是发送手机短信<SendPhoneMsg>。 经过扩展后,更一般的配置文件如下: <?xml version="1.0" encoding="UTF-8"?> <TaskManager> <OnTimeTask> <time>2012-12-31 10:00:00</time> <KillProcess> <pid> 520</pid> </KillProcess> <SendPhoneMsg> <phone>13433332222</phone> <content>世界末日了,我杀死了520进程</content> </SendPhoneMsg> </OnTimeTask> <!-- 周期性任务 --> <ScheduleTask > <!-- 时间间隔,单位为毫秒 --> <interval>20000</interval> <!-- URL监视器 --> <Monitor> <url>http://baidu.com</url> </Monitor> <!-- 监控失败处理队列 --> <!-- 运行程序 --> <RunProgram> <path>E:\qq.exe</path> </RunProgram> </ScheduleTask> <ScheduleTask > <!-- 时间间隔,单位为毫秒 --> <interval>20000</interval> <!-- URL监视器 --> <Monitor> <url>http://baidu.com</url> </Monitor> <!-- 监控失败处理队列 --> <!-- 运行程序 --> <RunProgram> <path>E:\qq.exe</path> </RunProgram> </ScheduleTask> <ScheduleTask > <interval>30000</interval> <Monitor> <url>http://localhost</url> </Monitor> <!-- 监控失败处理队列 ,多个动作 START--> <RunProgram> <path>E:\cluster\tomcat7\bin\startup.bat</path> </RunProgram> <!-- 发送邮件 --> <SendMail> <receiver>holdmydream@126.com,shenme@126.com,123@163.com</receiver> <subject>杯具啊</subject> <content>你的程序已经杯具。不必太伤心,神马都是浮云。</content> </SendMail> <SendMail> <receiver>javaeye2010@126.com</receiver> <subject>杯具啊</subject> <content>你的程序打酱油了。不给力啊。</content> </SendMail> <!-- 监控失败处理队列 ,多个动作 END--> </ScheduleTask> </TaskManager> 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2011-01-19
沙发,哈哈,你又来幽雅一把呀。
|
|
返回顶楼 | |
发表时间:2011-01-19
忍不住要鄙视你一下,ant做这样的活最适合不过了,仔细看看ant吧,那才叫优雅
|
|
返回顶楼 | |
发表时间:2011-01-19
shiren1118 写道 忍不住要鄙视你一下,ant做这样的活最适合不过了,仔细看看ant吧,那才叫优雅
不要那么强烈嘛。哈哈。人家幽雅哥只是学习一下设计的方法。 幽雅哥人家是show一下命令模式+策略模式+工厂模式的设计。 不过幽雅哥,你uml聚集的方向画反了,赶紧改过来的,免得误导初哥。 还有鄙视一下,你上传的是代码吗?明明是jar包,啥个意思?本来想下载下来帮你探讨和指导一下你的代码实现的。还是算了。 |
|
返回顶楼 | |
发表时间:2011-01-19
shiren1118 写道 忍不住要鄙视你一下,ant做这样的活最适合不过了,仔细看看ant吧,那才叫优雅
鄙视你的鄙视。有货你就亮出来,别藏着掖着又见不得人家分享。 |
|
返回顶楼 | |
发表时间:2011-01-19
peterwei 写道 shiren1118 写道 忍不住要鄙视你一下,ant做这样的活最适合不过了,仔细看看ant吧,那才叫优雅
不要那么强烈嘛。哈哈。人家幽雅哥只是学习一下设计的方法。 幽雅哥人家是show一下命令模式+策略模式+工厂模式的设计。 不过幽雅哥,你uml聚集的方向画反了,赶紧改过来的,免得误导初哥。 还有鄙视一下,你上传的是代码吗?明明是jar包,啥个意思?本来想下载下来帮你探讨和指导一下你的代码实现的。还是算了。 哈哈,太久没画,是画反了,多谢提醒。 设计已如图,代码只是浮云。 “帮你探讨和指导”就不必了,在下比较狭隘,只有见识到别人是头真牛,才会接受指导。 |
|
返回顶楼 | |
发表时间:2011-01-19
投了隐藏,原因为:
第一,文章组织的不太好,不是太适合阅读。 第二,标题党, 不解释。 第三,不知道为什么感觉你说话好冲。不适合新人学习你的风格。 第四,你的优雅系列看过好多了,最终对这个已经彻底失望了,就等你下个出来给你投隐藏了,没想到终于等到了 第五,刚才人家哥们都说了用ant,估计你都不知道怎么回事吧?其实也是获取网页。 第六,你的头像是我特恶心的一哥们,不是诸葛,你懂的,很傻的一个人偏要去扮演聪明人,我抑郁到不行。 第七,你那段xml看得我蛋疼。有点提示,其一,sendmail那块,别这样写,如果人比较多的话会彻底的悲剧的,其二,一些需要调试和修改的东西不要放到xml里面,xml配置的东西尽可能的稳定,这个应该懂吧? 第八,重新考虑一下你的接口,你想突出的是什么?如果是设计模式的话那就算了,我不懂设计模式,为了模式而模式这个比较蛋痛。 第九,也是最重要的一条,本来tomcat down,我有一个问题,现在如果我估计不错,你有两个了,至于到了后来再接手的人会不会增加为三个真的值得商榷。 好代码是在实践中慢慢的重构出来的。 难得说句话的冒一下泡。 |
|
返回顶楼 | |
发表时间:2011-01-19
yangguo 写道 peterwei 写道 shiren1118 写道 忍不住要鄙视你一下,ant做这样的活最适合不过了,仔细看看ant吧,那才叫优雅
不要那么强烈嘛。哈哈。人家幽雅哥只是学习一下设计的方法。 幽雅哥人家是show一下命令模式+策略模式+工厂模式的设计。 不过幽雅哥,你uml聚集的方向画反了,赶紧改过来的,免得误导初哥。 还有鄙视一下,你上传的是代码吗?明明是jar包,啥个意思?本来想下载下来帮你探讨和指导一下你的代码实现的。还是算了。 哈哈,太久没画,是画反了,多谢提醒。 设计已如图,代码只是浮云。 “帮你探讨和指导”就不必了,在下比较狭隘,只有见识到别人是头真牛,才会接受指导。 哈哈,小家子气。你那点代码还有人稀罕不成。不是牛,就不可以探讨和指导吗?我的意思是开放交流的心态,提高得才快。 |
|
返回顶楼 | |
发表时间:2011-01-19
peterwei 写道 shiren1118 写道 忍不住要鄙视你一下,ant做这样的活最适合不过了,仔细看看ant吧,那才叫优雅
不要那么强烈嘛。哈哈。人家幽雅哥只是学习一下设计的方法。 幽雅哥人家是show一下命令模式+策略模式+工厂模式的设计。 不过幽雅哥,你uml聚集的方向画反了,赶紧改过来的,免得误导初哥。 还有鄙视一下,你上传的是代码吗?明明是jar包,啥个意思?本来想下载下来帮你探讨和指导一下你的代码实现的。还是算了。 (*^__^*) 嘻嘻……果然 其实它实现的所有功能基本上ant都内置了,没有必要写个这东西,造轮子之前缺乏调研,ant真的是神器 |
|
返回顶楼 | |
发表时间:2011-01-19
最后修改:2011-01-19
dwbin 写道 投了隐藏,原因为:
第一,文章组织的不太好,不是太适合阅读。 第二,标题党, 不解释。 第三,不知道为什么感觉你说话好冲。不适合新人学习你的风格。 第四,你的优雅系列看过好多了,最终对这个已经彻底失望了,就等你下个出来给你投隐藏了,没想到终于等到了 第五,刚才人家哥们都说了用ant,估计你都不知道怎么回事吧?其实也是获取网页。 第六,你的头像是我特恶心的一哥们,不是诸葛,你懂的,很傻的一个人偏要去扮演聪明人,我抑郁到不行。 第七,你那段xml看得我蛋疼。有点提示,其一,sendmail那块,别这样写,如果人比较多的话会彻底的悲剧的,其二,一些需要调试和修改的东西不要放到xml里面,xml配置的东西尽可能的稳定,这个应该懂吧? 第八,重新考虑一下你的接口,你想突出的是什么?如果是设计模式的话那就算了,我不懂设计模式,为了模式而模式这个比较蛋痛。 第九,也是最重要的一条,本来tomcat down,我有一个问题,现在如果我估计不错,你有两个了,至于到了后来再接手的人会不会增加为三个真的值得商榷。 好代码是在实践中慢慢的重构出来的。 难得说句话的冒一下泡。 好吧,看在你看了这么多优雅系列和码了这么多字的份上,我就破例不嘲笑你的愚昧无知了。 忍不住补充一句:其实你加10个tomcat都可以。多个email也可以逗号分隔。 |
|
返回顶楼 | |