使用spring @Scheduled注解执行定时任务

以前框架使用quartz框架执行定时调度问题、

老大说这配置太麻烦、每个调度都需要多加在spring的配置中、

能不能减少配置的量从而提高开发效率、

最近看了看spring的 scheduled的使用注解的方式进行调度、

感觉很方便、起码配置的东西少了很多、

 

所以留下来以备忘了、

 

首先要配置我们的spring.xml

 

xmlns 多加下面的内容、

xmlns:task="http://www.springframework.org/schema/task"

 然后xsi:schemaLocation多加下面的内容、

http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task-3.1.xsd

 最后是我们的task任务扫描注解

<task:annotation-driven/>

 我的配置扫描位置是:

<context:annotation-config/>
 <bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor"/>
<context:component-scan base-package="com.test"/>

 扫描的是com.test这样的包下的内容、

下面需要接口和实现(我的这几个java文件都是com.test的包下的、)

[java]  view plain copy
 
  1. public interface IMyTestService {  
  2.        public void myTest();  
  3. }  



 

 

 

[java]  view plain copy
 
  1. @Component  //import org.springframework.stereotype.Component;  
  2. public class MyTestServiceImpl  implements IMyTestService {  
  3.       @Scheduled(cron="0/5 * *  * * ? ")   //每5秒执行一次  
  4.       @Override  
  5.       public void myTest(){  
  6.             System.out.println("进入测试");  
  7.       }  
  8. }  

执行后控制台就会打印出   进入测试   了

需要注意的几点:

1、spring的@Scheduled注解  需要写在实现上、

2、 定时器的任务方法不能有返回值(如果有返回值,spring初始化的时候会告诉你有个错误、需要设定一个proxytargetclass的某个值为true、具体就去百度google吧)

3、实现类上要有组件的注解@Component

 

剩下的就是corn表达式了、具体使用以及参数请百度google、

下面只例出几个式子

CRON表达式    含义 
"0 0 12 * * ?"    每天中午十二点触发 
"0 15 10 ? * *"    每天早上10:15触发 
"0 15 10 * * ?"    每天早上10:15触发 
"0 15 10 * * ? *"    每天早上10:15触发 
"0 15 10 * * ? 2005"    2005年的每天早上10:15触发 
"0 * 14 * * ?"    每天从下午2点开始到2点59分每分钟一次触发 
"0 0/5 14 * * ?"    每天从下午2点开始到2:55分结束每5分钟一次触发 
"0 0/5 14,18 * * ?"    每天的下午2点至2:55和6点至6点55分两个时间段内每5分钟一次触发 
"0 0-5 14 * * ?"    每天14:00至14:05每分钟一次触发 
"0 10,44 14 ? 3 WED"    三月的每周三的14:10和14:44触发 
"0 15 10 ? * MON-FRI"    每个周一、周二、周三、周四、周五的10:15触发 

scheduled每5分钟执行一次_10分钟让你学会两种定时任务 何为定时任务举个例子我有一个网站就叫他生活小助手吧,我的这个小助手有一个天气查询的功能,那么我的天气数据从何而来?实现方法一写一个爬虫程序去爬取中国气象台的天气信息,我觉得不大行。方法二使用第三方接口直接拿到返回结果做渲染。但是像天气这种实时的数据肯定是要实时更新的,但是我们的程序对外提供的接口都是需要手动调用的,我的小助手网站难道需要我每个小时手动去调一次京东万象数据平台的接口吗?这当... 阅读详情

相关推荐

java 定时任务 @Scheduled

定义在方法上,让方法按照表达式约束的时间自动触发 1.1、需搭建好spring环境 1.2、使用的时候,将其注解带上表达式写在方法上,注意类上也是需要注解的(@Service/@Component) 2、关于表达式: 2.1、语法【,】表示不连续的值,如“0,5,10”--》意味着0秒,5秒,10秒的时间【-】表示连续的值,如“0-5”-》意味着0秒,1秒,2秒,3秒,4秒,5秒的时间【*】表示任意值,如:*每秒钟【/】表示字符用于指定增量,如:“0/5”-》每隔5秒分 【,

努力挣钱的Dora 7449

@Scheduled定时器

之后在“定时任务列表”中统一执行相应的定时任务(定时任务先执行 corn,判断定时任务的执行时间,计算出相应的下次执行时间,放入线程中,到了时间就执行。其中每个元素可以是一个值(如6),一个连续区间(9-12),一个间隔时间(8-18/4)(/表示每隔4小时),一个列表(1,3,5),通配符。由于"月份中的日期"和"星期中的日期"这两个元素互斥的,必须要对其中一个设置?") 表示:每月的最后一天的凌晨2点开始每隔5小时的第15分钟到第20分钟之间的每分钟的第15,20,40秒执行一次。"0 15 10?

zqy123456_123的博客 1万+

【Spring Boot】# 使用@Scheduled注解无法执行定时任务

在 Spring Boot中,使用@Scheduled注解来定义定时任务时,定时任务不执行;或未在规定时间执行。@Component/*** 5秒执行一次*/")/*** 10秒执行一次*/")

m0_74824552的博客 990

使用spring @Scheduled注解执行定时任务、

以前框架使用quartz框架执行定时调度问题、老大说这配置太麻烦、每个调度都需要多加在spring的配置中、能不能减少配置的量从而提高开发效率、最近看了看spring的 scheduled的使用注解的方式进行调度、感觉很方便、起码配置的东西少了很多、所以留下来以备忘了、首先要配置我们的spring.xmlxmlns 多加下面的内容、xmlns:task="http://www.springfram...

sd4000784的专栏 39万+

TEC 高精度控温算法:实现精准升降温与恒温控制

本文深入解析了TEC高精度控温算法的核心原理与工程实践。针对TEC非线性、时变的特性,算法通过智能状态机实现精准升降温与恒温控制,并详细阐述了参数整定、硬件协同及调试优化的系统性方法,为半导体激光器、PCR仪等高精度温控应用提供了一套完整的解决方案。

weixin_29212867的博客 1013

HIC测序数据生信分析——第三节,HIC数据挂载

(取决于是否运行①prune模块,若①运行,则③运行;#HIC预处理后的比对文件Unknown_BM942-001H0001_1_val_1.Unknown_BM942-001H0001_2_val_2.hicup.bam 和contig基因组序列文件genome.fa。#HIC预处理后的比对文件Unknown_BM942-001H0001_1_val_1.Unknown_BM942-001H0001_2_val_2.hicup.bam 和contig基因组序列文件genome.fa。#这个方法简单一点。

weixin_44616693的博客 3598

@scheduled cron启动后和每小时执行_Spring Boot 使用 @Scheduled 注解创建定时任务

在项目开发中我们经常需要一些定时任务来处理一些特殊的任务,比如定时检查订单的状态、定时同步数据等等。在 Spring Boot 中使用 @Scheduled 注解创建定时任务非常简单,只需要两步操作就可以创建一个定时任务:1、在定时任务类上增加 @EnableScheduling 注解2、在要执行任务的方法上增加 @Scheduled 注解下面是我使用 cron 表达式创建一个简单的定时任务:im...

weixin_42476888的博客 1万+

Qt QChart实战:从零打造一个实时温度监控仪表盘(附完整源码)

本文详细介绍了如何使用Qt QChart模块从零构建一个工业级实时温度监控仪表盘。通过实战案例,展示了波形图的绘制、坐标轴配置、数据流模拟等关键技术,并提供了完整的源码实现,帮助开发者快速掌握Qt在数据可视化领域的应用。

weixin_42537919的博客 244

@scheduled 执行一次_Spring中使用@Scheduled注解快速开发定时任务

项目开发中很多时候需要定时执行某项任务,这个时候就需要用到定时任务了,Spring3.1开始让计划任务变得非常简单,只需要几个注解就能快速开启计划任务的支持。首先开启定时任务使用@EnableScheduling注解然后需要配置定时任务执行类@Componentpublic class TestTask {private static final Logger logger = LoggerFac...

weixin_39849548的博客 965

Python爬虫实战:基于Scrapy与Playwright的搜狐新闻高效爬取

在当今信息爆炸的时代,网络爬虫技术已成为数据获取和分析的重要工具。作为国内领先的新闻门户网站,搜狐新闻包含了大量有价值的新闻数据,这些数据对于舆情分析、市场研究等领域具有重要意义。本文将详细介绍如何使用Python最新的爬虫技术栈(Scrapy框架结合Playwright浏览器自动化工具)来高效爬取搜狐新闻数据。pythontitle = scrapy.Field() # 新闻标题url = scrapy.Field() # 新闻链接。

2201_76125261的博客 1553

2024.12.29 【RNA-seq】Rawdata数据缺失问题与解决方案

Fastq格式是一种用于存储高通量测序数据的文件格式,包含序列和相应的质量信息。第一行以开头,后接序列标识符;第二行是测序的DNA序列;第三行以开头,可能会跟随序列标识符;第四行是对应的质量值,以ASCII字符表示。Rawdata的数据完整性通常情况下是没有问题的,但我们仍然需要对下机数据进行验证,确保后续分析的正常进行,好的分析习惯可以提高整体的分析效率,避免很多不必要的麻烦。

1113

Spring 使用注解@Scheduled定时任务会执行两遍

Spring 使用注解@Scheduled定时任务会执行两遍问题描述解决方案 问题描述 项目中使用@Scheduled注解定时任务,发现定时任务每次都会执行两遍 解决方案 在spirngmvc扫描@Controller注解的配置文件中,过滤掉使用@Scheduled的类,让定时任务的类不被再次扫描到 <!-- 扫描@Controller注解 --> <context:component-scan base-package="com.demo.controller" use-def

在下令狐的博客 1094

深入浅出之ADown降采样模块(YOLO)

YOLOv9中的ADown模块是一种用于目标检测任务中的下采样操作的卷积块。在深度学习模型中,下采样(downsampling)是减少特征图空间维度的常用技术,它有助于模型在更高层次上捕捉图像的特征,同时减少计算量。ADown模块的设计旨在以一种高效且对性能影响较小的方式进行这一操作。

浩瀚之水的专栏 4179

spring使用注解@Scheduled执行定时任务

=最近做的项目中遇到了用spring中@Schedule注解执行定时任务的功能,这里简单记录一下。 首先在applicationContext.xml中进行配置: xmlns 加下面的内容 xsi:schemaLocation加下面的内容 最后我们的task任务扫描注解 需要注意的几点: 1、spring的@Scheduled注解  需要

常敲代码手不生 3499

Altium Designer(AD)仿真实验操作指南

1:运行仿真2:设置仿真3:放置电源模块4:放置器件模块5:探针。

XU157303764的博客 8903

实战:RK3568 Android14 点亮 LVDS 屏幕

4组数据 (D0~D3) + 1组时钟 (CLK)。最大支持 1280x800 @ 60Hz。8组数据 (Even03, Odd03) + 2组时钟。支持 1080P 及以上。/ {/* 背光与电源 *//** 关键配置:数据格式映射* 可选值: "jeida-18", "jeida-24", "vesa-24"* 6位屏选 xx-18, 8位屏选 xx-24* 颜色不对(偏色/底片效果)就换 VESA <-> JEIDA*/

qq_33427070的博客 1165

Spring之——quartz使用@Scheduled注解执行定时任务

今天,给大家来一篇Spring的小插曲,用@Scheduled注解来实现Spring quartz的定时执行任务功能。 导入Spring与Spring quartz相关的jar包,配置applicationContext.xml文件 xmlns 多加下面的内容 xmlns:task="http://www.springframework.org/schema/task"然后xsi:schem

冰河的专栏 6285

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

@scheduled 执行一次_Spring Boot 使用 @Scheduled 注解创建定时任务

在项目开发中我们经常需要一些定时任务来处理一些特殊的任务,比如定时检查订单的状态、定时同步数据等等。在 Spring Boot 中使用 @Scheduled 注解创建定时任务非常简单,只需要两步操作就可以创建一个定时任务:1、在定时任务类上增加 @EnableScheduling 注解2、在要执行任务的方法上增加 @Scheduled 注解下面是我使用 cron 表达式创建一个简单的定时任务:im...

weixin_39808726的博客 1417

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

上一篇: hbase二级索引Observer
下一篇: Hive 常见问题与技巧
weixir123
博客等级 码龄16年 1粉丝 207原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值