当前位置: 首页 > article >正文

Spring Task 定时任务框架

Spring Task

Spring Task 是Spring框架提供的任务调度工具,可以按照约定的时间自动执行某个代码逻辑。

定位:定时任务框架

作用:定时自动执行某段Java代码

 Spring Task使用步骤

1). 导入maven坐标 spring-context(已存在)springboot框架中已经集成

2). 启动类添加注解 @EnableScheduling 开启任务调度

3). 自定义定时任务类

cron表达式

cron表达式其实就是一个字符串,通过cron表达式可以定义任务触发的时间

构成规则:分为6或7个域,由空格分隔开,每个域代表一个含义

每个域的含义分别为:秒、分钟、小时、日、月、周、年(可选)

日和周一般不同时设置

通过网站生成cron表达式cron表达式在线生成器

通配符:

\* 表示所有值; 

? 表示未说明的值,即不关心它为何值; 

\- 表示一个指定的范围; 

, 表示附加一个可能值; 

/ 符号前表示开始时间,符号后表示每次递增的值;

**cron表达式案例:**

*/5 * * * * ? 每隔5秒执行一次

0 */1 * * * ? 每隔1分钟执行一次

0 0 5-15 * * ? 每天5-15点整点触发

0 0/3 * * * ? 每三分钟触发一次

0 0-5 14 * * ? 在每天下午2点到下午2:05期间的每1分钟触发 

0 0/5 14 * * ? 在每天下午2点到下午2:55期间的每5分钟触发

0 0/5 14,18 * * ? 在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发

0 0/30 9-17 * * ? 朝九晚五工作时间内每半小时

0 0 10,14,16 * * ? 每天上午10点,下午2点,4点 

在启动类上加上注解开启任务调度

 编写定时任务类

package com.sky.task;

import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import java.util.Date;

/**
 * 自定义定时任务类
 */
@Component
@Slf4j
public class MyTask {

    /**
     * 定时任务 每隔5秒触发一次
     */
    @Scheduled(cron = "0/5 * * * * ?")
    public void executeTask(){
        log.info("定时任务开始执行:{}",new Date());
    }
}

这样就会按照自己设定的时间自动执行


http://www.kler.cn/a/156422.html

相关文章:

  • centos7上安装mysql
  • golang分布式缓存项目 Day1 LRU 缓存淘汰策略
  • 实战指南:理解 ThreadLocal 原理并用于Java 多线程上下文管理
  • go reflect 反射
  • Oracle OCP认证考试考点详解082系列16
  • TVM计算图分割--分割方式
  • read()之后操作系统都干了什么
  • 自动驾驶学习笔记(十四)——感知算法
  • Ai2 Starter模拟器:中文绿色最新版下载及使用方法
  • Pytorch进阶教学——训练一个图像分类模型(GPU)
  • 【开源】基于Vue.js的假日旅社管理系统
  • Python词频统计(数据整理)
  • 【开源】基于JAVA语言的APK检测管理系统
  • 2024年甘肃省职业院校技能大赛(中职教师组)网络安全竞赛样题卷④
  • h5进行svga动画礼物特效播放的代码实现队列按顺序播放
  • 终端安全管理软件是监控软件吗
  • Cesium 展示——新增需求和分析
  • 2023年关于爬取Bilibili(B站)视频的一些最新资源和案例
  • Synchronized关键字的底层原理
  • 关系型数据库的数据隔离级别Read Committed与Repeatable Read
  • springboot(ssm 二手图书交易系统 图书销售系统Java(codeLW)
  • 删除PPT文件的备注内容
  • python爬虫之创建属于自己的ip代理池
  • 行业分析:2023年木炭行业市场需求及发展前景
  • 鸿蒙基础入门与高频知识点梳理
  • 2.1 Linux C 编程