- 浏览: 113271 次
- 性别:
- 来自: 深圳
博客专栏
-
告诉你什么是优雅的代码
浏览量:23457
最新评论
-
wfm0105:
不支持小数
告诉你什么是优雅的代码(6)------阿拉伯钱数转换为中文形式 -
wfm0105:
daisy_rainbow 写道 不懂这些数组里 ...
告诉你什么是优雅的代码(4)-----智力题的解法(答案) -
恒之疆:
无敌模式有问题
告诉你什么是优雅的代码(11)----html5 之XXOO棋 -
Shengli_fu:
...
告诉你什么是优雅的代码 -
Shengli_fu:
...
告诉你什么是优雅的代码(5)------ 百度之星也是普通人(答案)
公司里不知哪个“专家”做的项目,总把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>
- EasyMonitor.rar (722 KB)
- 下载次数: 73
评论
27 楼
scnu_lts
2011-12-05
我也碰到tomcat老奔溃的问题 哭啊 经理叫我解决郁闷 楼主能共享下代码吗 学习下
26 楼
泰山北斗
2011-11-04
你搞一个工作流引擎的设计出来我看看你有没有水!
25 楼
泰山北斗
2011-11-04
这么简单的业务有什么好拿出来显摆的。
24 楼
yangguo
2011-01-20
piao_bo_yi 写道
我觉得想法挺不错的,LZ给个代码我下来学习一下。
已发你邮箱。
23 楼
落依然
2011-01-20
kyfxbl 写道
楼主估计是哪个傻逼大专毕业,然后又在深圳科技园某傻逼小公司上班的某某傻逼程序员。。
3傻逼合一,真是傻逼中的战斗机
3傻逼合一,真是傻逼中的战斗机
LZ怎么样我也懒得说,像你这样的素质也是一般般而已
22 楼
piao_bo_yi
2011-01-20
我觉得想法挺不错的,LZ给个代码我下来学习一下。
21 楼
gtssgtss
2011-01-20
这年头怎么就有缺乏幽默感的人呢
20 楼
yangguo
2011-01-20
kingapex 写道
yangguo 写道
公司里不知哪个“专家”做的项目,总把tomcat搞崩溃,于是请我出山解决问题。我这个庸医自然根据头痛医头的原则,想到解决方法就是监控某个网页,死了就让tomcat启动。有了这个妙方,习惯了拿来主义的我自然先google一番,找到一个web monitor的工具,玩了一下感觉很差劲,还要注册。找个破解法自然不难,但天朝的环境木马横行,随时“领也”。真是岂有此理,这样一个小破玩意还要收费。我DIY还不行吗。
于是,2天之后,一个经过优雅设计的工具浮出水面。下面是这个工具的配置文件,一目了然:
真TM想抽你
小屁孩,你自卑惯了也不要妒忌人家自信啊。
19 楼
yangguo
2011-01-20
kyfxbl 写道
楼主向我们充分展示了傻逼、自恋、不要脸的极限。
傻逼帝你好,傻逼帝再见
傻逼帝你好,傻逼帝再见
加上你的自卑,愚蠢,妒忌,yin荡,便是人类的七宗罪了。
18 楼
smzd
2011-01-20
过儿也被投隐藏,哈
17 楼
kingapex
2011-01-20
yangguo 写道
公司里不知哪个“专家”做的项目,总把tomcat搞崩溃,于是请我出山解决问题。我这个庸医自然根据头痛医头的原则,想到解决方法就是监控某个网页,死了就让tomcat启动。有了这个妙方,习惯了拿来主义的我自然先google一番,找到一个web monitor的工具,玩了一下感觉很差劲,还要注册。找个破解法自然不难,但天朝的环境木马横行,随时“领也”。真是岂有此理,这样一个小破玩意还要收费。我DIY还不行吗。
于是,2天之后,一个经过优雅设计的工具浮出水面。下面是这个工具的配置文件,一目了然:
真TM想抽你
16 楼
logicgate
2011-01-20
peterwei 写道
哈哈,小家子气。你那点代码还有人稀罕不成。不是牛,就不可以探讨和指导吗?我的意思是开放交流的心态,提高得才快。
楼主是来展示优雅的,所以大家要么不说话,要么就说好话。就算是批评指导,也要先褒奖一番再批评嘛。
15 楼
haha1903
2011-01-20
完了,又变成人身攻击了。
反正我觉得楼主分享的精神和东西都还不错的,只是不要对骂就好了。
反正我觉得楼主分享的精神和东西都还不错的,只是不要对骂就好了。
14 楼
yangguo
2011-01-20
lookdd1 写道
我都难以想象,像LZ这样的在公司中能混下去吗?
淡定,猪脑又怎么想象得出人的事情来。
13 楼
lookdd1
2011-01-19
我都难以想象,像LZ这样的在公司中能混下去吗?
12 楼
zhmiao
2011-01-19
果然是show设计模式的
11 楼
shiren1118
2011-01-19
peterwei 写道
yangguo 写道
peterwei 写道
shiren1118 写道
忍不住要鄙视你一下,ant做这样的活最适合不过了,仔细看看ant吧,那才叫优雅
不要那么强烈嘛。哈哈。人家幽雅哥只是学习一下设计的方法。
幽雅哥人家是show一下命令模式+策略模式+工厂模式的设计。
不过幽雅哥,你uml聚集的方向画反了,赶紧改过来的,免得误导初哥。
还有鄙视一下,你上传的是代码吗?明明是jar包,啥个意思?本来想下载下来帮你探讨和指导一下你的代码实现的。还是算了。
哈哈,太久没画,是画反了,多谢提醒。
设计已如图,代码只是浮云。
“帮你探讨和指导”就不必了,在下比较狭隘,只有见识到别人是头真牛,才会接受指导。
哈哈,小家子气。你那点代码还有人稀罕不成。不是牛,就不可以探讨和指导吗?我的意思是开放交流的心态,提高得才快。
淡定啊,嘎嘎
10 楼
evanzzy
2011-01-19
附件里面没有源代码呀,怎么学习设计呢?有点不实在了
9 楼
yangguo
2011-01-19
dwbin 写道
投了隐藏,原因为:
第一,文章组织的不太好,不是太适合阅读。
第二,标题党, 不解释。
第三,不知道为什么感觉你说话好冲。不适合新人学习你的风格。
第四,你的优雅系列看过好多了,最终对这个已经彻底失望了,就等你下个出来给你投隐藏了,没想到终于等到了
第五,刚才人家哥们都说了用ant,估计你都不知道怎么回事吧?其实也是获取网页。
第六,你的头像是我特恶心的一哥们,不是诸葛,你懂的,很傻的一个人偏要去扮演聪明人,我抑郁到不行。
第七,你那段xml看得我蛋疼。有点提示,其一,sendmail那块,别这样写,如果人比较多的话会彻底的悲剧的,其二,一些需要调试和修改的东西不要放到xml里面,xml配置的东西尽可能的稳定,这个应该懂吧?
第八,重新考虑一下你的接口,你想突出的是什么?如果是设计模式的话那就算了,我不懂设计模式,为了模式而模式这个比较蛋痛。
第九,也是最重要的一条,本来tomcat down,我有一个问题,现在如果我估计不错,你有两个了,至于到了后来再接手的人会不会增加为三个真的值得商榷。
好代码是在实践中慢慢的重构出来的。
难得说句话的冒一下泡。
第一,文章组织的不太好,不是太适合阅读。
第二,标题党, 不解释。
第三,不知道为什么感觉你说话好冲。不适合新人学习你的风格。
第四,你的优雅系列看过好多了,最终对这个已经彻底失望了,就等你下个出来给你投隐藏了,没想到终于等到了
第五,刚才人家哥们都说了用ant,估计你都不知道怎么回事吧?其实也是获取网页。
第六,你的头像是我特恶心的一哥们,不是诸葛,你懂的,很傻的一个人偏要去扮演聪明人,我抑郁到不行。
第七,你那段xml看得我蛋疼。有点提示,其一,sendmail那块,别这样写,如果人比较多的话会彻底的悲剧的,其二,一些需要调试和修改的东西不要放到xml里面,xml配置的东西尽可能的稳定,这个应该懂吧?
第八,重新考虑一下你的接口,你想突出的是什么?如果是设计模式的话那就算了,我不懂设计模式,为了模式而模式这个比较蛋痛。
第九,也是最重要的一条,本来tomcat down,我有一个问题,现在如果我估计不错,你有两个了,至于到了后来再接手的人会不会增加为三个真的值得商榷。
好代码是在实践中慢慢的重构出来的。
难得说句话的冒一下泡。
好吧,看在你看了这么多优雅系列和码了这么多字的份上,我就破例不嘲笑你的愚昧无知了。
忍不住补充一句:其实你加10个tomcat都可以。多个email也可以逗号分隔。
8 楼
shiren1118
2011-01-19
peterwei 写道
shiren1118 写道
忍不住要鄙视你一下,ant做这样的活最适合不过了,仔细看看ant吧,那才叫优雅
不要那么强烈嘛。哈哈。人家幽雅哥只是学习一下设计的方法。
幽雅哥人家是show一下命令模式+策略模式+工厂模式的设计。
不过幽雅哥,你uml聚集的方向画反了,赶紧改过来的,免得误导初哥。
还有鄙视一下,你上传的是代码吗?明明是jar包,啥个意思?本来想下载下来帮你探讨和指导一下你的代码实现的。还是算了。
(*^__^*) 嘻嘻……果然
其实它实现的所有功能基本上ant都内置了,没有必要写个这东西,造轮子之前缺乏调研,ant真的是神器
发表评论
-
shiro 整合dwz 解决登录跳转问题
2014-02-26 11:07 5698在dwz界面操作会话超时时,有两种处理方法。一种是跳 ... -
html5--笑傲弈林
2011-06-24 17:39 2506结合笔者发过的ht ... -
Ice中间件研究
2011-06-17 15:02 10525Ice中间件研究 简介 Ic ... -
朝花夕拾-----中国象棋
2011-03-10 22:51 2064整理文件,发现昔日写的中国象棋程序,把玩一番,直叹今不如昔,锋 ... -
告诉你什么是优雅的设计(2)--------重构EasyMonitor
2011-01-20 17:33 2284EasyMonitor1.0出来后不久,玩着玩着,我就敏锐 ... -
还原javaeye的崇高文化
2010-12-07 18:57 1528平时对帖子的质量比较苛刻,对一些没内容帖子不免冷嘲热讽。 本来 ... -
html5-贪食蛇
2010-11-30 14:09 1482随着HTML5的插入触碰到RIA的G点,b/s的生产力将进一步 ... -
告诉你什么是优雅的代码(10)----鬼斧神工
2010-11-03 16:06 2411最近逛javaeye得出的体会就是现在的弟弟妹妹确实都很强。动 ... -
告诉你什么是优雅的代码(9)----山寨版猜珍珠
2010-10-08 17:16 1836国庆长假百无聊赖,于是玩玩3366的游戏。 玩到一款小游戏ht ... -
告诉你什么是优雅的代码(8)-----排列组合专题
2010-09-25 14:20 6216http://www.iteye.com/topic/7703 ... -
JAVA程序员情书
2010-09-21 11:55 3677根据网络同名情书改编,版权所有,盗版不究。 我能抽象出整个 ... -
告诉你什么是优雅的代码(7)-----银行作业调度系统
2010-09-20 11:51 2380公告:C1000,请到1号窗口办理,估计用时48秒。 公 ... -
告诉你什么是优雅的代码(6)------阿拉伯钱数转换为中文形式
2010-09-19 14:08 3265http://www.iteye.com/topic/7668 ... -
告诉你什么是优雅的代码(5)------ 百度之星也是普通人(答案)
2010-09-19 09:49 2909最近在写优雅代码系列 ... -
世人谓我太疯癫,我笑世人看不穿
2010-09-17 17:44 1354你来迟了。 首先来看下这个系统的使用方法: publ ... -
告诉你什么是优雅的代码(5)------ 百度之星也是普通人
2010-09-14 16:34 2063今天在挖掘《优雅代码》系列的题材的时候,发现一贴http:// ... -
告诉你什么是优雅的代码(4)-----智力题的解法(答案)
2010-09-08 16:08 2715以下智力题摘自某一帖子。在纸上画了一下之后有了答案。出于职业敏 ... -
告诉你什么是优雅的代码(4)-----智力题的解法
2010-09-08 10:43 1925以下智力题摘自某一帖子。在纸上画了一下之后有了答案。出于职业敏 ... -
告诉你什么是优雅的代码(3)------山寨拼音分词
2010-09-06 16:27 4566早上看见一帖《拼音语法检查》,感觉比较啰嗦,也比较低效。于是自 ... -
用hibernate也能玩出jdbc的感觉
2010-09-03 15:20 1423相信大家都看了那篇《用jdbc也能玩出hibernate的 ...
相关推荐
在这篇文章的第二部分,我们将深入探讨如何通过重构EasyMonitor实现优雅设计的概念。EasyMonitor可能是一个监控工具,用于收集系统或应用的运行时信息,帮助开发者及时发现并解决问题。 重构是改善代码结构而不改变...
EasyMonitor 基于 Java 的免费开源跨平台系统运行监控服务应用及引擎框架。 A free, open source, cross-platform system running monitoring service application and engine framework based on Java. 中文 ...
1. **性能瓶颈定位**:当应用出现性能下降时,Easy Monitor可以通过实时数据反馈帮助开发者迅速找到问题所在,是定位内存泄漏、CPU过高或者网络延迟等问题的有效工具。 2. **代码优化**:在开发过程中,可以利用...
1. 安防监控系统的重要性:安防监控系统是现代安全防范体系中的重要组成部分,它通过视频监控设备来提高对环境的监控能力和快速响应潜在风险的能力。安防监控系统可以部署在各种场景,包括但不限于公共场合、企业...
Easy Monitor是一组SuperKaramba主题和简单的bash脚本。 可以显示有关您的信息:发行版,处理器,内存,磁盘使用情况,时钟,网络速度等,甚至可以执行许多信息:管理,配置,安装和备份任务。
百度大脑发布了8项新产品和升级,如人脸识别人脸识别离线SDK4.0、人脸产品套件(壁虎)、EasyMonitor-智能视频监控开发平台2.0等。这些新产品和升级涵盖了从基础识别到高级应用的多个层面,旨在提升人脸识别的效率和...
【部分内容】:百度大脑作为一个AI开放平台,其EasyMonitor视频监控开发平台在安全领域的应用是一个重要的话题。它可能会介绍如何利用AI技术进行智能视频监控,提高安全监控的效率和准确性。EM Box边缘计算盒的发布...