浏览 6156 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-11-26
现在碰到一个问题,定时器有时突然不运行了,这时只能重新启动服务,不知道大家有没有碰到过这种情况 请多多指点,谢谢! 定时器的代码 public class SynContentTask extends TimerTask { private static Logger log = Logger.getLogger(SynContentTask.class); private ContentFacade contentFacade; public void setContentFacade(ContentFacade contentFacade) { this.contentFacade = contentFacade; } public void run() { log.debug("--- 定时任务开始扫描"); // 查询待发布表 List list = null; try { list = this.contentFacade.querySynTask(); } catch (Exception e) { // TODO Auto-generated catch block log.error("--- 查询任务列表失败 ---"); e.printStackTrace(); } if (null != list) { log.debug("--- 获取同步任务,本次有 " + (list.size()) + " 个内容需要同步 ---"); for (Iterator iter = list.iterator(); iter.hasNext();) { CtPubSynTaskVO task = (CtPubSynTaskVO) iter.next(); try { this.contentFacade.sendMsgToSms(task); } catch (Exception e) { log.error("--- 同步内容:" + task.getContentId() + " 失败 ---"); e.printStackTrace(); continue; } } } } } spring配置 <bean id="synContentTask" class="syn.SynContentTask"> <property name="contentFacade"> <ref local="contentFacade"/> </property> </bean> <bean id="sheduledSynContentTask" class="org.springframework.scheduling.timer.ScheduledTimerTask"> <property name="timerTask"> <ref local="synContentTask"/> </property> <property name="period"> <value>60000</value> </property> <property name="delay"> <value>10000</value> </property> </bean> <bean class="org.springframework.scheduling.timer.TimerFactoryBean"> <property name="scheduledTimerTasks"> <list> <ref local="sheduledSynContentTask"/> </list> </property> </bean> 谢谢! 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-11-26
异常也捕获了,如果服务器的其他地方出现异常会不会导致定时器停掉呢?
|
|
返回顶楼 | |
发表时间:2007-11-26
查一下在这个时间内,系统时间是否有变?
如果系统时间有变,原有Timer是不会工作的 |
|
返回顶楼 | |
发表时间:2007-11-26
hbcui1984 写道 查一下在这个时间内,系统时间是否有变?
如果系统时间有变,原有Timer是不会工作的 谢谢 hbcui1984 系统时间没有改变 别的什么地方还会影响定时器? |
|
返回顶楼 | |
发表时间:2008-06-03
我也遇到楼主这样的问题。。你怎么解决的??
|
|
返回顶楼 | |