Springboot基础学习之(二十三):实现定时任务

news/2024/4/24 23:29:00/

 定时任务:在开发过程中是经常能够使用到的:定时发布邮件等等

先了解一下什么时cron表达式?

它是定义执行任务时间的一种时间表达式,使用方法

@Scheduled(cron = "0/2 * * * * ? "),这里代码的含义是每两秒执行以下此方法

总共有六个数据,它对应的则是cron表达式:秒 分 时 日 月 周还有一个数据可写可不写就是年

cron表达式并非一定要了解,每个数据可以通过生成器得到自己需要的数据

cron表达式生成器这个网站可以帮助我们获取定时任务的时间信息

创建一个ScheduledService类:定时执行此类下面的方法

代码:

package com.example.demo.service;import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;@Service     //交给spring容器进行管理
public class ScheduledService {//实现的功能是每两秒执行方法:定时执行任务//cron表达式:秒 分 时 日 月 周@Scheduled(cron = "0/2 * * * * ? ")public void Show(){System.out.println("输出");}
}

注解:@Scheduled:设计执行任务的时间配置信息

        注意:这里的时间单位都是毫秒

  1. @Scheduled(fixedDelay = 1000)
    上一个任务结束到下一个任务开始的时间间隔为固定的1秒,任务的执行总是要先等到上一个任务的执行结束

  2. @Scheduled(fixedRate = 1000)
    每间隔1秒钟就会执行任务(如果任务执行的时间超过1秒,则下一个任务在上一个任务结束之后立即执行)

  3. @Scheduled(fixedDelay = 1000, initialDelay = 2000)
    第一次执行的任务将会延迟2秒钟后才会启动

  4. @Scheduled(cron = “0 15 10 15 * ?”)
    Cron表达式,每个月的15号上午10点15分开始执行任务

  5. 在配置文件中配置任务调度的参数

开启定时任务

package com.example.demo;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.annotation.EnableScheduling;@SpringBootApplication
@EnableScheduling    //开启定时任务功能
public class DemoApplication {public static void main(String[] args) {SpringApplication.run(DemoApplication.class, args);}}

运行项目:

看测试结果每隔两秒显示一个'输出'

 


http://www.ppmy.cn/news/47934.html

相关文章

Linux 内核原理摘录

文章目录 一、Linux 内核设计与实现1、进程管理(1)调度2、内核数据结构(1)kfifo 3、中断 一、Linux 内核设计与实现 本章主要用来摘录《Linux 内核设计与实现》一书中学习知识点,其基于 Linux 2.6.34 。 1、进程管理 …

关于自身存在的严重问题总结_4/19

今早二次面试喜马拉雅,面试官给我的评价是: 1.经验不足; 2.实用方面生疏、理解不到位; 原因很正常,我项目自己亲手实操的太少了,一直在背,但是背 不是去读源码 去理解; 项目也大…

LINUX系统SSH连接安装Matlab、添加环境变量、后台运行Matlab脚本

安装Matlab 使用MobaXterm软件SSH连接远程服务器,输入IP、用户名和端口号: 输入密码进入(密码不显示) 网上找一个Matlab安装包(iso镜像)上传进服务器端,或者直接使用wget指令在服务器端下载镜…

8:00面试,8:05就出来了 ,问的实在是太变态了···

从外包出来,没想到算法死在另一家厂子。 自从加入这家公司,每天都在加班,钱倒是给的不少,所以也就忍了。没想到12月一纸通知,所有人不许加班,薪资直降30%,顿时有吃不起饭的赶脚。 好在有个兄弟…

解决OpenCV与Numpy版本不匹配问题

小背景 周四晚上发现之前写的程序不能用了,不知道是系统中使用了bootstrap的原因还是什么。为了方便,我把系统也放在了和之前做实验的conda环境。一开始不管算法还是系统都可以使用,但就那天晚上说部署一下Django项目,顺便再测一…

【C++】deque的实现原理简单介绍

前言 deque被称为双端队列,它的出现主要是为了结合vector和list的优点并减小它们的缺点,实际上deque确实结合了vector和list的优点减小了它们的缺点,但是它的结合也让它自己的优点没有原始的vector和list那么极致,导致deque变得很…

勒索病毒应急响应指南

勒索病毒应急响应指南 1.勒索病毒的攻击特点2.隔离被感染的服务器/主机3.排查业务系统4.确定勒索病毒种类,进行溯源分析5.恢复数据和业务6.清除加固7.勒索病毒的防御方法个人终端防御技术企业级终端防御技术1.勒索病毒的攻击特点 无 C2 服务器加密: 攻击者在对文件加密的过…

自动控制原理模拟卷4

自动控制原理模拟题四 Question1 仓库大门自动开闭控制系统原理图如下图所示,说明系统自动控制大门开闭的工作原理并画出系统方块图; 解: 当合上开门开关时,电位器桥式测量电路产生一个偏差电信号;此偏差电压经放大器放大后,驱动伺服电动机带动绞盘转动,使大门提起;与…

网络基础入门

目录 网络存在的意义 网络发展 网络在哪里? 网络是分层的 理解分层 软件可以分层 网络协议栈也是层状结构 认识协议 协议是什么 协议分层 网络传输需要解决的四个问题 OSI七层模型(了解为主) TCP/IP五层(或四层&…

浏览器状态同步和路由-前端路由和服务端路由原理

目录 前端路由和History API 浏览文境(Browser Context) 会话历史(Session History) History API history.go()切换当前会话,并不改变会话栈 history.back() history.go(-1) & history.forward() history.…

笔试题20230415

1.SQL 语言中,删除一个视图的命令是 (D) A.REMOVE B.CLEAR C.DELETE D.DROP 2.编写测试计划的目的不是 (D) A.使项目参与人员沟通更顺畅 B.使测试工作顺利进行 C.使测试工作更加系统化 D.软件工程及软件过程的需要 3.以下关于压力测试的描述,哪种…

5GHz无线局域网系统模拟

基于IEEE 802.11a标准的5GHz WLAN系统能在低移动性无线条件下提供比以前的系统更快的数据传输率、更好的频谱效率、改进的多径性能和更低的干扰。  为了在5GHz WLAN系统中支持高速率的数据传输,推荐采用多载波调制和正交频分多址(OFDM)。OF…

Linux基础—日志分析

Linux基础—日志分析 一、日志的功能1.日志消息的级别2.设备字段说明 二、日志文件的分类1.内核及系统日志2.用户日志3.程序日志 三、日志文件1.日志文件查看2.主要日志文件介绍3.日志管理策略 一、日志的功能 用于记录系统、程序运行中发生的各种事件 通过阅读日志&#xff0c…

如何伪原创-自媒体伪原创软件

批量文字伪原创的作用 批量文字伪原创是指通过对原文进行修改、改写、调整等方式,生成大量新的类似原文的文本。其作用主要包括以下几个方面: 提高文本的独创性:批量伪原创可以有效地避免大量相似内容的出现,从而提高文本的独创性…

嵌入式Linux(4):应用层和内核层数据传输

文章目录 简介1、如果在应用层使用系统IO对设备节点进行打开,关闭,读写等操作会发生什么呢?写个例子2、假如驱动层的file_operations里面没有实现read之类的操作函数,会发生什么?3、应用层和内核层室不能直接进行数据传…

English Learning - L2-16 英音地道语音语调 语调 2023.04.20 周四

English Learning - L2-16 英音地道语音语调 语调 2023.04.20 周四 语调降调升调降升升降 语调如何正确的表情达意用降调的句型用升调的句型用降升调的句型升降调 & 平调 回顾词重音句重音弱读语音语调四步法 存档音频 语调 降调 重音音节降 升调 一般表示不确定&#xf…

提高客户忠诚度的 5 种方法

提高客户忠诚度是成功经营企业的最重要因素之一。忠诚的客户也更有可能向他们的朋友和家人推荐您的业务,从而开辟更多的收入来源。所以您需要将您的战略重点放在建立作为企业主的客户忠诚度上。 提高客户忠诚度的 5种方法 1.优先考虑客户服务 作为企业应该积极主动…

今天面了个京东拿 38K 出来的,让我见识到了基础的天花板

今年的春招已经开始了,很多小伙伴收获不错,拿到了心仪的 offer。 各大论坛和社区里也看见不少小伙伴慷慨地分享了常见的软件测试面试题和八股文,为此咱这里也统一做一次大整理和大归类,这也算是划重点了。 俗话说得好&#xff0…

【Redis】Redis键(key)

常用命令 常用案例 keys * 查看当前库所有的key 127.0.0.1:6379> keys * 1) "k1"exists key 判断某个key是否存在,存在几个则返回几,不存在则返回0 127.0.0.1:6379> exists k1 (integer) 1 127.0.0.1:6379> exists k2 (integer)…

【消息队列】聊一下Kafka多线程消费实例

Kafka Java Consumer设计原理 目前市面上大多数计算机都采用多核CPU来提升系统的处理性能,但是如果在程序开发层面使用单线程的话,那么必定不能完全发挥出系统的真实性能,而kafka Consumer就是单线程的。而这个只是针对于消费消息这个层面来…