springboot使用定时任务

springboot 中使用定时任务

# Timer 
定时任务,指一定时间程序自动触发执行的代码。

定时任务引用场景

  • 定时任务 定时清除系统的冗余数据
  • 定时数据备份(导出sql文件)
  • 定时缓存清楚, 通用缓存系统

1.Timer 的简单实用(java原声)

//注意 :定时任务中,主线程会新开一个线程,  timer定时任务中是同一个线程对象

/*
*因此在timer中是单线程执行的,故此这个线程安全的  sched方法中还存在synchronized()代码块进行加锁
*/



public static void main(String[] args ){
  //创建定时对象
  Timer timer = new Timer ();
  //启动定时任务
  //参数1:执行的任务。
  //参数2 :任务开始时间
  //参数3:周期执行任务的间隔时间
  timer.schedule(new TimerTask(){
    @Override 
    public void run(){
      System.out.println(Thread.currentThread().getName()+"The timer task was executed at now ");
    }
  },new Date());
  System.out.println(Thread.currentThread().getName()+"Main thread");
}

2.springboot基于Timer封装的定时任务

# spring boot 本身就对该定时任务类进行了封装,因此只要进行相关的注解声明就可进行使用
@Configration   //表示这个一个配置类,spring进行自动装配
@EnableScheduling  //表识这个类是一个定时任务类
public class MyTash{
		@Scheduled(cron="*****?")  //表示这是一个定时任务方法
		public void executeTask(){
		System.out.println("this is springboot to base Timer's timer ");
		}
}

cron:表达式

# corn 表达式在springboot中默认支持6位
# 秒	 分钟	小时	日	 月  星期	年
可以在网上查看cron表达式生成器,
也可以查看相关规范资料。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值