Spring Task

一、Spring Task简介

1.定时任务

3.三种完成方法

1.java自带的API java.util.Timer类 java.util.TimerTask类

2.Quartz框架 开源 功能强大 使用起来稍显复杂

3.Spring 3.0以后自带了task 调度工具,比Quartz更加的简单方便

 

二、开发环境准备

1.创建一个JavaWeb项目

2.引入jar包

3.基本的配置

 

三、如何使用

1.纯xml配置的方式

a.简单定时任务

实现业务功能+配置定时间规则

b.复杂定时任务

cron表达式

 

 

2.全注解的方式

a.在业务方法上提供注解 @Service @Scheduled(参数相同)

b.开启注解支持

 

@Scheduled所支持的参数: 

1. cron:cron表达式,指定任务在特定时间执行; 

2. fixedDelay:表示上一次任务执行完成后多久再次执行,参数类型为long,单位ms; 

3. fixedDelayString:与fixedDelay含义一样,只是参数类型变为String; 

4. fixedRate:表示按一定的频率执行任务,参数类型为long,单位ms; 

5. fixedRateString: 与fixedRate的含义一样,只是将参数类型变为String; 

6. initialDelay:表示延迟多久再第一次执行任务,参数类型为long,单位ms; 

7. initialDelayString:与initialDelay的含义一样,只是将参数类型变为String; 

8. zone:时区,默认为当前时区,一般没有用到。

 

 

springboot使用:

启动类:

testtask2

 

 

SpringTask 默认是单线程的 上面的两个定时任务使用的都是同一个线程;在实际开发中,不希望所有的任务都运行在一个线程中,想要改成多线程,给SpringTask提供一个多线程的TaskScheduler,Spring已经有默认实现

结果:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐