我的应用程序有一个每60秒执行一次的cron作业。应用程序配置为在需要时扩展到多个实例。我只想每60秒在一个实例上执行任务(在任何节点上)。
我根据弹簧剖析进行了以下更改。
更改了bean定义:
<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 =调度
上面的属性是在四个tomcat实例中的一个上设置的。
我的工作仍未运行。 我错过了任何配置吗? 任何指导将不胜感激。感谢