spring boot 定时间任务

l Spring boot  定时任务  (共3种方式定时)

l  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) {

SpringApplication.run(Application.class, args);

}

}

 

 

import org.springframework.scheduling.annotation.Scheduled;

import org.springframework.stereotype.Component;

@Component

public class Jobs {

public final static long ONE_Minute =  60 * 1000;

@Scheduled(fixedDelay=ONE_Minute)

public void fixedDelayJob(){//多少分钟执行一次,而fixedDelay是当任务执行完毕后1分钟在执行

System.out.println(Dates.format_yyyyMMddHHmmss(new Date())+"
>>fixedDelay执行....");

}

@Scheduled(fixedRate=ONE_Minute)

public void fixedRateJob(){

//多少分钟执行一次fixedRate就是每多次分钟一次,不论你业务执行花费了多少时间。都是1分钟执行1次

System.out.println(Dates.format_yyyyMMddHHmmss(new Date())+"
>>fixedRate执行....");

}

@Scheduled(cron="0
15 3 * * ?")

public void cronJob(){

//而还有一类定时任务,比如是每天的3点15分执行,那么我们就需要用另外一种方式:cron表达式

//cron一共有7位,但是最后一位是年,可以留空,所以我们可以写6位

//* 第一位,表示秒,取值0-59

// * 第二位,表示分,取值0-59

//* 第三位,表示小时,取值0-23

//* 第四位,日期天/日,取值1-31

//* 第五位,日期月份,取值1-12

//* 第六位,星期,取值1-7,星期一,星期二...,注:不是第1周,第二周的意思
另外:1表示星期天,2表示星期一。

//* 第7为,年份,可以留空,取值1970-2099

System.out.println(Dates.format_yyyyMMddHHmmss(new Date())+"
>>cron执行....");

}

}

时间: 2024-12-18 14:36:25

spring boot 定时间任务的相关文章

Spring Boot 定时+多线程执行

Spring Boot 定时任务有多种实现方式,我在一个微型项目中通过注解方式执行定时任务. 具体执行的任务,通过多线程方式执行,单线程执行需要1小时的任务,多线程下5分钟就完成了. 执行效率提升10倍以上,执行效率提升10倍以上,执行效率提升10倍以上. 重要的事情说三遍! 本文不深入介绍具体的原理,大家如果要实现类似的功能,只需要执行下面1~5即可. 至于为什么是上图,而不直接贴代码.直接上代码排版不齐,需要的可以留邮箱,我发给你. (1)定时任务实现 在需要定时执行的的方法上面增加注解 @

spring boot 定时备份数据库

第一步 :添加mysqldump.exe 进环境变量 第二步  新建一个spring boot 项目,连接数据库 spring.datasource.url=jdbc:mysql://localhost:3308/springbootdb?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true spring.datasource.username=root spring.datasource.password=mysql

Apache Camel 与 Spring Boot 集成,通过FTP定时采集、处理文件

1.概要: 本项目主要是通过在Spring平台上配置Camel.FTP,实现定时从FTP服务器下载文件到本地.解析文件.存入数据库等功能. 2.搭建空项目: Spring Boot有几种自动生成空项目的机制:CLI.Spring tool suite.网站Spring Initializr,我们选择第三个. 访问网站http://start.spring.io/,如下图 在dependencies添加依赖包的时候,在框中输入camle.jdbc.mysql会自动弹出提示,确认即为选中,如下图:

Spring Boot 2.x实战之定时任务调度

在后端开发中,有些场景是需要使用定时任务的,例如:定时同步一批数据.定时清理一些数据,在Spring Boot中提供了@Scheduled注解就提供了定时调度的功能,对于简单的.单机的调度方案是足够了的.这篇文章准备用实际案例看下@Scheduled的用法. 开发实战 新建Spring Boot工程,主pom文件内容如下: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="htt

【转】Spring Boot 2.x实战之定时任务调度

在后端开发中,有些场景是需要使用定时任务的,例如:定时同步一批数据.定时清理一些数据,在Spring Boot中提供了@Scheduled注解就提供了定时调度的功能,对于简单的.单机的调度方案是足够了的.这篇文章准备用实际案例看下@Scheduled的用法. 开发实战 新建Spring Boot工程,主pom文件内容如下: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="htt

Spring Boot开发之流水无情(二)

上篇散仙写了一个很简单的入门级的Spring Boot的例子,没啥技术含量,不过,其实学任何东西只要找到第一个突破口,接下来的事情就好办了,人最怕什么? 我想莫过于干一件事情,没有下手的地方了,而当你一旦找到了这感觉,就可以很喜悦的顺藤摸瓜般的探索你强烈想探索求知的某种事物了,这种冥冥之中玄而又玄的感觉是什么?回想一下: (1) 当你把第一个某种编程语言的Hello World的例子,成功的运行在一个IDE中  (2) 当你第一次从老家出发到达了某个你从未涉足过的地方  (3) 当你成功的完成了

Spring Boot? 配置文件详解:自定义属性、随机数、多环境配置等

自定义属性与加载 我们在使用Spring Boot的时候,通常也需要定义一些自己使用的属性,我们可以如下方式直接定义: application-dev.yml com.didispace.blog: name: 程序猿DD title: Spring Boot教程 desc: ${com.didispace.blog.name}正在努力写<${com.didispace.blog.title}> # 随机字符串 value: ${random.value} # 随机int number: ${

Spring Boot干货系列:(二)配置文件解析

Spring Boot:配置文件解析   前言 上一篇介绍了Spring Boot的入门,知道了Spring Boot使用"习惯优于配置"(项目中存在大量的配置,此外还内置了一个习惯性的配置,让你无需手动进行配置)的理念让你的项目快速运行起来.所以,我们要想把Spring Boot玩的溜,就要懂得如何开启各个功能模块的默认配置,这就需要了解Spring Boot的配置文件application.properties. 正文 Spring Boot使用了一个全局的配置文件applicat

玩转spring boot——websocket

前言 QQ这类即时通讯工具多数是以桌面应用的方式存在.在没有websocket出现之前,如果开发一个网页版的即时通讯应用,则需要定时刷新页面或定时调用ajax请求,这无疑会加大服务器的负载和增加了客户端的流量.而websocket的出现,则完美的解决了这些问题. spring boot对websocket进行了封装,这对实现一个websocket网页即时通讯应用来说,变得非常简单. 一.准备工作 pom.xml引入 <dependency> <groupId>org.springf