分布式任务调度组件 Uncode-Schedule

http://www.oschina.net/p/uncode-schedule

Uncode-Schedule 是基于 zookeeper+quartz/spring task 的分布式任务调度组件,非常小巧,无需任何修改就可以使quartz/spring task具备分布式特性,确保所有任务在集群中不重复,不遗漏的执行。

功能概述

基于zookeeper+spring task的分布任务调度系统。
确保每个任务在集群中不同节点上不重复的执行。
单个任务节点故障时自动转移到其他任务节点继续执行。
任务节点启动时必须保证zookeeper可用,任务节点运行期zookeeper集群不可用时任务节点保持可用前状态运行,zookeeper集群恢复正常运期。
支持已有任务动态停止和运行。
说明:

单节点故障时需要业务保障数据完整性或幂等性。
具体使用方式和spring task相同,只需要配置ZKScheduleManager即可。
项目地址: oschina:http://git.oschina.net/uncode/uncode-schedulegithub:

基于Spring XML配置

Spring bean
public class SimpleTask {
 
    private static int i = 0;
 
    public void print() {
        System.out.println("===========start!=========");
        System.out.println("I:"+i);i++;
        System.out.println("=========== end !=========");
    }
}



xml配置


    
           
              
              
              
              
              
              
              
           
    





    



基于Spring Annotation配置
Spring bean
@Component
public class SimpleTask {
 
    private static int i = 0;
 
    @Scheduled(fixedDelay = 1000) 
    public void print() {
        System.out.println("===========start!=========");
        System.out.println("I:"+i);i++;
        System.out.println("=========== end !=========");
    }
 
}



xml配置






    
           
              
              
              
              
              
              
              
           
    





基于Quartz的XML配置
注意:spring的MethodInvokingJobDetailFactoryBean改成cn.uncode.schedule.quartz.MethodInvokingJobDetailFactoryBean


    
           
              
              
              
              
              
              
           
    
 






    
    
    
    



    
        
    
    
    
        0/3 * * * * ?
    



    
        
            
        
    


已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐
  • —软件人才免语言低担保 赴美带薪读研!—



你可能感兴趣的:(分布,任务,调度)