Запланированная задача Spring, работающая в кластерной среде, не работает

Мое приложение имеет задание cron, которое выполняется каждые 60 секунд. Приложение настроено для масштабирования при необходимости на несколько экземпляров. Я хочу выполнять задачу только на 1 экземпляре каждые 60 секунд (на любом узле).

Я сделал следующие изменения в соответствии с весенним профилированием.

Изменено определение компонента от:

<beans>
<bean id="someBean" .../>
<task:scheduled-tasks>
<task:scheduled ref="someBean" method="execute" cron="0/60 * * * * *"/>
</task:scheduled-tasks>
</beans>

Для того, чтобы:

<beans>
  <beans profile="scheduled">
    <bean id="someBean" .../>

    <task:scheduled-tasks>
      <task:scheduled ref="someBean" method="execute" cron="0/60 * * * * *"/>
    </task:scheduled-tasks>
  </beans>
</beans>

Затем я установил для свойства JVM следующее: -Dspring.profiles.active= запланировано

указанное выше свойство установлено в 1 из четырех экземпляров tomcat.

Моя работа все еще не выполняется. Я пропускаю любую конфигурацию? Любое руководство будет с благодарностью. Спасибо

0 ответов

Другие вопросы по тегам