日期:2014-05-17  浏览次数:20683 次

Timer定时器 启动执行两次
web.xml

<listener>
  <listener-class>com.invoicing.action.basic.ContextListener</listener-class>
  </listener>
<listener>
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
   
  <!-- spring config -->
  <context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/applicationContext.xml,
/WEB-INF/applicationContext-action.xml,
/WEB-INF/applicationContext-service.xml,
/WEB-INF/applicationContext-dao.xml
  </param-value>
</context-param>

------解决方案--------------------
同样遇到过这种问题,截止回复此贴时,还没有解决方案
------解决方案--------------------
定时器实际的执行时间是否在配置的执行之间之后?
timer有2种模式,一种是保持时间的稳定,一种是保持执行次数的稳定。
如果是保持时间的稳定,那么如果实际执行时间在配置时间之后,定时器会以实际执行时间为准开始定时执行
如果是保持执行次数的稳定,那么如果实际执行时间在配置时间之后,定时器会以配置的时间为准,计算出到实际执行时间之间,有几个时间间隔,然后把前面没有执行的次数全部补上。

希望对楼主有所帮助。
------解决方案--------------------
没用到Quartz吗?