首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

java Timer 调用两次 原因 解决办法

2012-11-12 
java Timer 调用两次 原因 解决方法IDE:EclipseServer:GlassFish用到Timer,任务是每10S进行一项任务。有个s

java Timer 调用两次 原因 解决方法
IDE:Eclipse
Server:GlassFish
用到Timer,任务是每10S进行一项任务。
有个servlet在服务器启动时被加载,并且在init里开始定时器任务
遇到的问题,有时候10S执行一次,但是有时候10S执行两次,而且这两次是相互隔离的,互补干扰,并且各任务之间间隔也是10S。感觉像是一个定时器被隔离调用了2次。

查了很多资料,都没有解决问题,最后自己琢磨发现:
原来是启动服务器的时候这个定时器启动,这时候一直就是正确的,都是10S只有一个定时器被调用。
后来修改了一些代码,在Eclipse里热部署了,再次启动定时器任务的时候,发现原来的定时器还在,结果出现上述问题。

总结:每次都要重启服务器就可以避免这个问题。

PS:调用两次的原因可能有很多种,希望大家对症下药。
PS:关于Eclipse的热部署,可以到我的博客下找到对应的文章
地址:GlassFish安装下载和Eclipse热部署

热点排行