文档章节

Spring Boot:在Spring Boot中使用定时任务

Element0506
 Element0506
发布于 2015/11/10 11:56
字数 342
阅读 271
收藏 6

本文主要介绍如何在Spring Boot中使用定时任务,假设你已经建好了一个基础的Spring Boot项目。首先,我们在项目中建立一个定时任务。

1.创建定时任务

package hello;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@Component
public class ScheduledTasks {
    private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
    @Scheduled(fixedRate = 5000)
    public void reportCurrentTime() {
        System.out.println("The time is now " + dateFormat.format(new Date()));
    }
}

@Scheduled 注解用于标注这个方法是一个定时任务的方法,方法的执行周期是fixedRate,本例中是每隔5秒钟运行一次,我们也可以使用更灵活的设置方法@Scheduled(cron="...") ,用一个表达式来设置定时任务。

2.启用定时任务

接下来,我们在Application中设置启用定时任务功能。

package hello;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;
@SpringBootApplication
@EnableScheduling
public class Application {
    public static void main(String[] args) throws Exception {
        SpringApplication.run(Application.class);
    }
}

其中 @EnableScheduling 注解的作用是发现注解@Scheduled的任务并后台执行。

运行Spring Boot,输出结果为如下,每5秒钟打印出当前时间。

The time is now 13:10:00
The time is now 13:10:05
The time is now 13:10:10
The time is now 13:10:15

参考资料

Spring定时任务的几种实现

http://blog.csdn.net/kaixuanfeng2012/article/details/14161285


几种任务调度的 Java 实现方法与比较
http://www.ibm.com/developerworks/cn/java/j-lo-taskschedule/


本文转载自:http://www.tuicool.com/articles/ayau2i

共有 人打赏支持
Element0506
粉丝 12
博文 67
码字总数 18449
作品 0
南京
高级程序员
私信 提问
Spring Boot实践--定时任务两种(Schedule与Quartz整合)

Spring Boot实践--定时任务两种(Schedule与Quartz整合) 最近在项目中使用到定时任务,之前一直都是使用Quartz 来实现,最近看Spring 基础发现其实Spring 提供 Spring Schedule 可以帮助我们实...

spinachgit
02/11
0
0
Spring Boot学习资源

Spring Boot 入门 http://blog.csdn.net/isea533/article/details/50278205 ---------------------------------------------------------- Spring Boot 静态资源处理 http://blog.csdn.net/c......

IamOkay
2017/02/17
0
0
Spring Boot点滴笔记

Spring Boot导入xml配置文件 使用Spring Boot后再也不想回到一堆xml配置的spring项目中了。但Spring boot有时候也避免不了需要xml配置文件。 可以在启动类中加入@ImportResource Spring Boot...

hutaishi
2017/11/01
0
0
新书上架:《Spring Boot 开发实战》(基于 Kotlin + Gradle + Spring Boot 2.0 的企业级服务端开发实战)

新书上架:《Spring Boot 开发实战》 — 基于 Kotlin + Gradle + Spring Boot 2.0 的企业级服务端开发实战 京东下单链接 https://item.jd.com/31178320122.html 天猫下单链接 https://detail...

程序员诗人
08/05
0
0
新书上架:《Spring Boot 开发实战》基于 Kotlin + Gradle + Spring Boot 2.0 的企业级服务端开发实战

新书上架:《Spring Boot 开发实战》 — 基于 Kotlin + Gradle + Spring Boot 2.0 的企业级服务端开发实战 京东下单链接 https://item.jd.com/31178320122.html 天猫下单链接 https://detail...

程序员诗人
08/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Ext grid 渲染

// 单元格字体颜色渲染function renderer_Meta_useStatus(value, cellmeta, record,rowIndex, columnIndex, store){ var color = ""; if("空闲"==value){ color = "green";......

MoksMo
25分钟前
4
0
log4j2在spring中的配置

<?xml version="1.0" encoding="UTF-8"?><!--日志级别以及优先级排序: OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL --><!--Configuration后面的status,这个用于设置l......

TonyTaotao
30分钟前
3
0
java 中间变量缓存机制(i++,++i)

public class Test { public static void main(String[] args) { int i = 0; i = i ++ ; System.out.println(i); } } 答案是 0 如果是 i = ++......

shzwork
38分钟前
5
0
初识多线程及其原理-笔记

什么情况下应该使用多线程? 通过并行计算提高程序执行性能 需要等待网络、I/O响应导致耗费大量的执行时间, 可以采用异步线程的方式来减少阻塞 tomcat7 以前的io模型 客户端阻塞 线程级别阻...

Java搬砖工程师
49分钟前
2
0
webpack4 css打包、压缩、分离、去重等优化配置详解

Webpack 4 目前版本已经到了4.27 相较于前面的版本还是有一些改动的,具体可以参考升级指南 迁移到新版本 这里只介绍 css 的 打包、压缩、分离、去重 的方法; 不懂的或者有更优的方案,欢迎...

zerokb-小浪
53分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部