如何在tomcat服务器启动后就监控数据库,用来定时发送邮件、短信、消息等,这个监控服务应该如何实现或给我点提示?
4条回答
- Dead_Knight 2013-04-25 09:19关注
你的意思应该就是在tomcat启动后监控数据库某个表,然后定时发送邮件、短信、消息?
如果是这个意思,那么有以下几个办法:
1.使用java ee中的Listener,具体方式,就是实现ServletContextListener接口,并且在实现类中,使用jdk的Timer、TimerTask完成定时任务。具体可参考:
[url]http://blog.csdn.net/jinchun1234/article/details/4205358[/url]
这种方式的缺点:使用jdk的timer,不满足精确度很高的定时任务,而且某个任务出现问题,会导致timer死掉,不再执行。2.你的项目使用了spring,可以通过spring集成timer来完成定时任务,可参考:
[url]http://blog.csdn.net/qingzhizhu888/article/details/4500922[/url]
但是我更建议使用quartz这个定时任务框架。1.2方式都是依赖于tomcat应用,即tomcat挂掉,那么定时任务的线程也随之消失。
3.使用独立的定时任务应用监控数据库某个表,由于你需要定时发送邮件、短信、消息,会出现线程执行比较久的情况,那么在独立的定时任务的应用中完成,对tomcat跑的应用无任何影响。
简单点,使用1方式。如果定时要求比较高,就使用spring+quartz,如果定时频率高,且耗时长,推荐第三种。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 如何在scanpy上做差异基因和通路富集?
- ¥20 关于#硬件工程#的问题,请各位专家解答!
- ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
- ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
- ¥30 截图中的mathematics程序转换成matlab
- ¥15 动力学代码报错,维度不匹配
- ¥15 Power query添加列问题
- ¥50 Kubernetes&Fission&Eleasticsearch
- ¥15 報錯:Person is not mapped,如何解決?
- ¥15 c++头文件不能识别CDialog