Tomcat 7.0.23 & Spring 3.1 & 任务调度程序多次调用



我的spring.xml看起来像

<task:scheduler id="feedServiceScheduler"  pool-size="10"/>
<task:scheduled-tasks scheduler="feedServiceScheduler">        

    <task:scheduled ref="feedService" method="testMethod" cron="0 50 11 * * *" />
</task:scheduled-tasks>

我预计方法"testMethod"将在一年中每天11:50对对象"feedService"调用
出于某种原因,testMethod被调用了两次,我就是找不到问题的解决方案。

"feedService"bean并不花哨,只是一个简单的POJO和测试方法打印出一条消息。

任何关于我可能做错的事情的帮助都将是非常好的。

感谢

这里也有同样的问题。看起来,tomcat创建了多个servlet实例,所以调度的proc被多次调度

这里有一个小日志,您可以在其中看到在不同类上启动的运行:

[2012-03-22 11:03:00,001] [ClickCheatReportGenerator] DEBUG ClickCheatersender called (com.innofeed.mindenkupon.schedules.ClickCheatReportGenerator@5238d01c)
[2012-03-22 11:03:00,004] [ClickCheatReportGenerator] DEBUG ClickCheatersender called (com.innofeed.mindenkupon.schedules.ClickCheatReportGenerator@fe70870)
[2012-03-22 11:03:00,004] [ClickCheatReportGenerator] DEBUG ClickCheatersender called (com.innofeed.mindenkupon.schedules.ClickCheatReportGenerator@8daf938)

您应该限制tomcat只运行一个servlet实例,但这可能会导致性能问题。

更新:最后,使用cron调度调用由控制器处理的url解决了这个问题。

相关内容

最新更新