如何在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 素材场景中光线烘焙后灯光失效
- ¥15 请教一下各位,为什么我这个没有实现模拟点击
- ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
- ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
- ¥20 有关区间dp的问题求解
- ¥15 多电路系统共用电源的串扰问题
- ¥15 slam rangenet++配置
- ¥15 有没有研究水声通信方面的帮我改俩matlab代码
- ¥15 ubuntu子系统密码忘记
- ¥15 保护模式-系统加载-段寄存器