Spring Boot 一次性定时器

Spring Boot 一次性定时器

先讲讲Spring提供的TaskScheduler接口
该接口提供了六种不同的定时执行任务

public interface TaskScheduler {

	ScheduledFuture schedule(Runnable task, Trigger trigger);

	//指定时间执行一次性任务
	ScheduledFuture schedule(Runnable task, Date startTime);

	ScheduledFuture scheduleAtFixedRate(Runnable task, Date startTime, long period);

	ScheduledFuture scheduleAtFixedRate(Runnable task, long period);

	ScheduledFuture scheduleWithFixedDelay(Runnable task, Date startTime, long delay);

	ScheduledFuture scheduleWithFixedDelay(Runnable task, long delay);
}

详情可以查看
Spring基础学习-任务调度TaskScheduler
不多废话了,直接上代码,虽然很简洁,但是明显的扩展性不够高,向上实现接口能够实现更好的扩展性

//定时器类
public class MyTimer extends DefaultManagedTaskScheduler {
    //定时执行任务
    public void addTriggerTaskOneTime(Date date, Runnable runnable) {
        ScheduledFuture<?> future = schedule(runnable, date);
    }
}

调用方式

public void Test(){
	Mytimer myTimer=new MyTimer();
	Date time="执行的时间";
	myTimer.addTriggerTaskOneTime(time, new Runnable() {
    public void run() {
         System.out.println(time+ "执行时间");
     	}
        });
 }
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值