博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring注解之 @EnableScheduling计划任务注解
阅读量:6297 次
发布时间:2019-06-22

本文共 1899 字,大约阅读时间需要 6 分钟。

要实现计划任务,首先通过在配置类注解@EnableScheduling来开启对计划任务的支持,

然后在要执行计划任务的方法上注解@Scheduled,声明这是一个计划任务

示例:计划任务执行类

在这个类中的方法上需要@Scheduled注解配合@EnableScheduling使用。

package cn.hncu.p3.p3_taskscheduler;import org.springframework.scheduling.annotation.Scheduled;import org.springframework.stereotype.Service;import java.text.SimpleDateFormat;import java.util.Date;/** * Created with IntelliJ IDEA. * User:  * Date: 2016/11/22. * Time: 下午 10:25. * Explain:计划任务执行类 */@Servicepublic class ScheduledTaskService {    private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");    @Scheduled(fixedRate = 5000) //通过@Scheduled声明该方法是计划任务,使用fixedRate属性每隔固定时间执行    public void reportCurrentTime(){        System.out.println("每隔5秒执行一次 "+dateFormat.format(new Date()));    }    @Scheduled(cron = "0 07 20 ? * *" ) //使用cron属性可按照指定时间执行,本例指的是每天20点07分执行;    //cron是UNIX和类UNIX(Linux)系统下的定时任务    public void fixTimeExecution(){        System.out.println("在指定时间 "+dateFormat.format(new Date())+" 执行");    }}

配置类

通过@EnableScheduling注解开启对计划任务的支持

package cn.hncu.p3.p3_taskscheduler;import org.springframework.context.annotation.ComponentScan;import org.springframework.context.annotation.Configuration;import org.springframework.scheduling.annotation.EnableScheduling;/** * Created with IntelliJ IDEA. * User: * Date: 2016/11/22. * Time: 下午 10:32. * Explain:配置类 */@Configuration@ComponentScan("cn.hncu.p3.p3_taskscheduler")@EnableScheduling //通过@EnableScheduling注解开启对计划任务的支持public class TaskScheduleConfig {}

运行结果

package cn.hncu.p3.p3_taskscheduler;import org.springframework.context.annotation.AnnotationConfigApplicationContext;/** * Created with IntelliJ IDEA. * User:  * Date: 2016/11/22. * Time: 下午 10:34. * Explain:运行类 */public class Main {    public static void main(String[] args) {        AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(TaskScheduleConfig.class);    }}

运行结果

你可能感兴趣的文章
[SilverLight]DataGrid实现批量输入(like Excel)(补充)
查看>>
秋式广告杀手:广告拦截原理与杀手组织
查看>>
翻译 | 摆脱浏览器限制的JavaScript
查看>>
闲扯下午引爆乌云社区“盗窃”乌云币事件
查看>>
02@在类的头文件中尽量少引入其他头文件
查看>>
JAVA IO BIO NIO AIO
查看>>
input checkbox 复选框大小修改
查看>>
BOOT.INI文件参数
查看>>
vmstat详解
查看>>
新年第一镖
查看>>
unbtu使用笔记
查看>>
OEA 中 WPF 树型表格虚拟化设计方案
查看>>
Android程序开发初级教程(一) 开始 Hello Android
查看>>
使用Gradle打RPM包
查看>>
“我意识到”的意义
查看>>
淘宝天猫上新辅助工具-新品填表
查看>>
再学 GDI+[43]: 文本输出 - 获取已安装的字体列表
查看>>
nginx反向代理
查看>>
操作系统真实的虚拟内存是什么样的(一)
查看>>
hadoop、hbase、zookeeper集群搭建
查看>>