定时任务 - 任务调度

定时任务
在指定时间,程序自动完成某些功能
定时任务实现方式:
jdk自带的java.util.Timer类,只能按照某一频率执行,每隔多久执行一次,与前端的定时器一样

第三方框架: Quertz,以让你的程序在指定的时间执行,也可以按照某一个频率执行,但是配置起来比较复杂.

Spring提供简化版Quertz, Spring3.0以后自带的task

XXLJOB分布式任务调度 https://www.xuxueli.com/xxl-job/           适用于分布式系统

Quertz实现定时任务核心概念
·工作(Job):用于定义具体执行的工作1
·工作明细(JobDetail):用于描述定时工作相关的信息2
·触发器(Trigger)∶用于描述了工作明细与调度器的对应关系3
·调度器(Scheduler):用于描述触发工作的执行规则,通常使用cron表达式定义规则4

1编写 234配置

2.创建Job类 这个类必须继承QuartzJobBean类

 3..配置

corn表达式

Cron表达式至少有6个(也可以是7个)由空格分隔的时间元素组成.第7个元素可选的,从左至右,这些元素的定义如下表:

- : 范围

* : 任意

/ : 每隔多久或者说开始值/间隔  5/5-> 从第5秒开始,每隔5秒执行一次

, : 表示列表:分钟:5,8,11,22

?: 只在天与星期出现,表示忽略,天与星期必须有一个写?如果设置天,星期必须是?如果设置星期,天必须是?

L : 最后,在天,表示月的最后一天,在星期中,表示月的最后一个星期,第四个星期

# : 只在星期出现星期几#第几个星期6#3:6:表示星期五3:这个月的第3个星期

每隔十秒执行一次

Quatrz:缺点就是配置有点麻烦

第二种 Spring3.0提供的task任务调度

注意前面一种和现在这种二选一

简化:不需要进行配置。只需要在配置类启动任务调度  EnableScheduling

 job类不需要实现任何接口,继承任何类,就是一个普通类,每一个要执行的任务,就是一个方法。只需要在任务方法添加注解

定时任务:执行任务,底层是使用线程调用任务方法

练习:
使用定时任务,实现定时对user表进行备份
备份表: tb_userback    实现全量备份: 思路 -> tb_userback 全部删除,把tb_user的数据全部保存到备份表  

搞一个按钮  : 点击进行备份

实现效果,在之前的springboot项目中实现

create table tb_userbk as select * from tb_userinfo where 1 =2;  //创建备份表

使用定时任务,实现定时对tb_userinfo表进行备份
备份表: tb_userback 实现全量备份: 思路 -> tb_userback 全部删除,把tb_user的数据全部保存到备份表  (每隔10秒)  使用Spring3.0提供的task任务调度来实现 

vue基础

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值