首页 > 代码库 > Java Timetask 无缘无故停止
Java Timetask 无缘无故停止
今天是个HAPPY的日子,困扰已久的问题已解决了,下面就切入正题。
1.现象
这个程序是一个用来获取游戏数据并组织成KPI指标数据,以彩信的形式发送给各位领导和同事。
程序主要采用Spring ,hibernate,但是定时任务使用Java Timetask ,话说这个程序是各位前辈们写的,以前业务复杂,各位前辈们写了很多有价值的代码,但随着业务的简化,也逐渐有一部分业务注释掉,到目前为止都看的我头晕。
主要问题是:每天定时任务设置为8点开始发第一波彩信,但程序和死掉一样,不执行,需要重新启动一下Tomcat服务器,才开始发送。
解决方案:
之前在网上查了很多,在网上看到这篇Blog http://www.iteye.com/problems/96620,因为我这边没有系统时间重新设置的情况,也没有抛出未检测的异常,不过还是受这篇文章的启发,想可能是TimerTask 在某个运行过程中,出现异常,造成线程阻塞了,因为正式环境比较严格,担心一不小心出现发送错误信息给客户,目前还不清楚问题出现在哪里,重点是:
我把Java TimerTask 替换成Spring task 定时任务,问题解决了
<!-- 配置定时任务: 秒 分 时 日 月 周 -->
<task:scheduled-tasks>
<!-- 确认彩信和KPI彩信任务 -->
<task:scheduled ref="eventTableTimerTaskJob" method="runTask" cron="0 0/5 6-23 * * ?"/>
</task:scheduled-tasks>
今天写一个记录,希望对遇到同样问题的同学们提供一点帮助,也给自己提个醒。
本文出自 “幸福的小妮子” 博客,请务必保留此出处http://1723824.blog.51cto.com/1713824/1561942
Java Timetask 无缘无故停止