栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在群集环境中运行的Spring Scheduled Task

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在群集环境中运行的Spring Scheduled Task

批处理和计划的作业通常在自己的独立服务器上运行,而不是面向客户的应用程序,因此将作业包含在预期在群集中运行的应用程序中并不是普遍的要求。此外,群集环境中的作业通常不需要担心同一作业的其他实例并行运行,因此隔离作业实例的要求不是很大。

一个简单的解决方案是在Spring Profile中配置你的作业。例如,如果你当前的配置是:

<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>

然后,仅在

scheduled
激活了配置文件(
-Dspring.profiles.active=scheduled
)的一台计算机上启动应用程序。

如果主服务器由于某种原因不可用,只需启动另一个启用了配置文件的服务器,一切就可以继续正常工作。

如果你还想为作业进行自动故障转移,那么事情将会改变。然后,你将需要使作业保持在所有服务器上运行,并通过公用资源(例如数据库表,集群缓存,JMX变量等)检查同步。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/432119.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号