Spring计划任务用法实例详解
作者:cakincqm 发布时间:2021-08-03 11:41:08
标签:Spring,计划任务
本文实例讲述了Spring计划任务用法。分享给大家供大家参考,具体如下:
一 点睛
从Spring3.1开始,计划任务在Spring中的实现变得异常的简单。只需要下面两步。
1 通过在配置类上注解@EnableScheduling来开启对计划任务的支持。
2 在要执行计划任务的方法上注解@Scheduled,声明这是一个计划任务。
Spring通过@Scheduled支持多种类型的计划任务,包含cron、fixDelay、fixRate等。
二 实战
1 配置类
package com.wisely.highlight_spring4.ch3.taskscheduler;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableScheduling;
@Configuration
@ComponentScan("com.wisely.highlight_spring4.ch3.taskscheduler")
@EnableScheduling //1
public class TaskSchedulerConfig {
}
2 计划任务执行类
package com.wisely.highlight_spring4.ch3.taskscheduler;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
@Service
public class ScheduledTaskService {
private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
@Scheduled(fixedRate = 5000) //该方法是计划任务,使用fixedRate属性每隔固定时间执行。
public void reportCurrentTime() {
System.out.println("每隔五秒执行一次 " + dateFormat.format(new Date()));
}
@Scheduled(cron = "0 28 11 ? * *" ) //每天11点28分执行
public void fixTimeExecution(){
System.out.println("在指定时间 " + dateFormat.format(new Date())+"执行");
}
}
3 主类
package com.wisely.highlight_spring4.ch3.taskscheduler;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
public class Main {
public static void main(String[] args) {
AnnotationConfigApplicationContext context =
new AnnotationConfigApplicationContext(TaskSchedulerConfig.class);
}
}
三 运行结果
每隔五秒执行一次 19:58:50
每隔五秒执行一次 19:58:55
每隔五秒执行一次 19:59:00
每隔五秒执行一次 19:59:05
每隔五秒执行一次 19:59:10
每隔五秒执行一次 19:59:15
每隔五秒执行一次 19:59:20
每隔五秒执行一次 19:59:25
每隔五秒执行一次 19:59:30
每隔五秒执行一次 19:59:35
每隔五秒执行一次 19:59:40
每隔五秒执行一次 19:59:45
每隔五秒执行一次 19:59:50
每隔五秒执行一次 19:59:55
每隔五秒执行一次 20:00:00
每隔五秒执行一次 20:00:05
希望本文所述对大家java程序设计有所帮助。
来源:https://blog.csdn.net/chengqiuming/article/details/81569189


猜你喜欢
- Spring 中 Bean 的生命周期是当今最流行的 Java 开发框架之一,其强大的 Bean容器机制是其中的核心之一。Bean 是指在
- JNI中的java接口使用项目需求,需要在c++函数中监听相应的状态,并在java端进行一些列的处理。这个需要在JNI中写一个subscri
- Tab与TabHost:这就是Tab,而盛放Tab的容器就是TabHost 。如何实现?? 每一个Tab还对应了一个布局,这个就有点好玩了。
- 对于本地图片我们可以通过selector来轻松的实现点击态。 但是在我们的项目中,一个关于对非本地图片的点击态实现还是难倒了不少人;因此专门
- Android 实现tab视图有2种方法,一种是在布局页面中定义<tabhost>标签,另一种就是继承tabactivity.但
- Lua是目前国内使用最多的热更语言,基于Lua的热更框架也非常多,最近学习了一下ToLua的热更框架,主要使用的问题在于C#和Lua之间的互
- 前两天忙着写开题报告,没有来得及做项目,今天继续研究一下这个项目。上次研究到后端的DAO层,研究了一下后端和数据库交互的过程,service
- 本文实例讲述了C#导出数据到csv文件的通用类。分享给大家供大家参考。具体如下:通过这个类可以很简单的定义数据格式,并导出到csv文件//这
- 目录结构:Data.xls数据: 后台页面:public void doGet(HttpServletRequest reques
- 在popupWindow里面再弹出popupWindow的时候会报这样的错误ERROR/AndroidRuntime(888): andro
- 日志是非常重要的,虽然他不会以需求功能提来,但也不会体现在产品方案中。但是,它在系统项目中却占有巨大的地位。为了保证服务的高可用,发现问题一
- 一、setting.xml文件的位置今天我们来谈谈Maven setting文件配置的禅定之道。不知道大家有没有听说过禅宗?嗯,没错,就是那
- SpringEL表达式取值一般是${var}方式取值, 见于application.properties和@Value("${va
- Android中Toolbar随着ScrollView滑动透明度渐变效果实现一.思路:监听ScrollView的滑动事件 不断的修改Tool
- 在wpf中实现treeview的功能,可能看到很多分享的都是简单的绑定,仅此记录自己完成的功能。前台<TreeView x:Name=
- 利用javax.swing.Timer类设计并实现一个模拟秒表功能的应用程序。程序中显示不断递增的时间,同时包含允许用户启动和终止计时功能的
- 程序在运行时如果出错,编译器会抛出异常,异常如果没有被捕捉处理,程序会终止运行。异常分为未检查异常和已检查异常,以下对这两类异常做进一步说明
- 目录1、前言2、实例1、前言法存取数据。除此之外,还可以控制数据的存取方式。在面向对象编程中,大多数都是以类作为数据封装的基本单位。类将数据
- 在Java的逻辑运算符中,有这么四类:&&(短路与),&,|,||(短路或)。&&和&都是表
- 序、前言emmmmm,首先这篇文章讲的不是用BinaryFormatter来进行结构体的二进制转换,说真的BinaryFormatter这个