日期:2014-05-17  浏览次数:20868 次

定时任务在服务器集群中的实现问题
如果一个应用程序有一个后台定时执行的任务,比如用quartz或者java.util.Timer,那么当这个程序部署在服务器集群时,每一个服务器上都会执行这个后台任务。如果有3台应用服务器,那么这个任务就被执行了3次。
有没有什么方法,可以在在集群范围内,所有的定时任务只执行一次呢?
是不是只能通过自己设置标记位来实现呢?
------解决方案--------------------
quartz和timer都不是针对集群的,都是单机的框架,而且他们的作用是负责定时执行,你要只执行一次,这是你自己的应用逻辑,应该自己控制