Tomcat 7.0.23 и Spring 3.1 & планировщик задач несколько вызовов - PullRequest
1 голос
/ 10 февраля 2012

my 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" будет вызываться для объекта "feedService" в 11:50 каждый день годаПо некоторым причинам testMethod вызывается дважды, и я просто не могу найти решение проблемы.

bean-компонент "feedService" - ничего особенного, просто простой POJO и метод тестирования выводит сообщение.

Любая помощь в отношении того, что я могу сделать неправильно, была бы полезной.

Спасибо

1 Ответ

0 голосов
/ 22 марта 2012

Та же проблема здесь.Как представляется, tomcat создает несколько экземпляров сервлета, поэтому запланированные процессы планируются несколько раз.

Вот небольшой журнал, в котором вы можете увидеть прогоны, инициированные для разных классов:

[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 только одним экземпляром сервлета, но, возможно, это вызовет проблемы с производительностью.

Обновление: Наконец-то решена проблема с использованием расписаний cron, вызывающих URL-адреса, обрабатываемые контроллерами.

...