Butterfly Scheduling 一个轻量级的调度工具

在JAVA 的世界里,提到调度工具基本都想到Quartz,今天介绍一个更轻量级的调度工具:Butterfly Scheduling ,Jar包非常小只有20几k,在项目中添加jenkov-butterfly-scheduling-1.3.9-beta.jar,然后就可以测试一下了

 

一个最简单的实例:

SchedulerTest.java

 

public class SchedulerTest {

    public static void main(String[] args) {
        SchedulerService schedulerService = new SchedulerService();


        String url = "http://jenkov.com/rss/rss_all.jsp";
        UrlTask urlTask = new UrlTask(url);
        String commandLine = "help ";
        CommandLineTask clTask = new CommandLineTask(commandLine);

        IScheduledTaskListener listener = new MyTaskListener();

        schedulerService.addScheduledTaskListener(listener);

        long timeInterval = 10 * 1000; //one分钟 in milliseconds.
        schedulerService.addIntervalScheduledTask(clTask, timeInterval);
        schedulerService.addIntervalScheduledTask(urlTask, timeInterval);
//        SchedulerService scheduler = new SchedulerService();
//        schedulerService.addDailyScheduledTask(urlTask, 3, 30, 0);
//        schedulerService.addDailyScheduledTask(clTask, 3, 30, 0);

//Run in current thread
        schedulerService.run();


    }

}

 

 

MyTaskListener.java

 

public class MyTaskListener implements IScheduledTaskListener {
    public void taskScheduled(ScheduledTaskContext scheduledTaskContext) {
        System.out.println("Start :" + scheduledTaskContext.getScheduledTask().getTaskName());
    }

    public void taskFailureScheduled(ScheduledTaskContext scheduledTaskContext) {
        //To change body of implemented methods use File | Settings | File Templates.
    }

    public void taskExecuted(ScheduledTaskContext scheduledTaskContext) {

//get execution result history
        List<ScheduledTaskExecutionResult> results =
                scheduledTaskContext.getExecutionResults();
//get latest execution result
        ScheduledTaskExecutionResult latestResult = results.get(0);
//see if the result was success or not

        boolean success = latestResult.getStatus() == ScheduledTaskExecutionResult.SUCCESS;
        boolean error = latestResult.getStatus() == ScheduledTaskExecutionResult.ERROR;

        System.out.println("end :" + scheduledTaskContext.getScheduledTask().getTaskName());
    }
}

  

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值