spring定時任務排程
本文將告訴你如何使用spring的任務排程。主要使用@Scheduled註解
需要會使用maven
第一步 pom.xml配置
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" >
<modelVersion>4.0.0</modelVersion>
<groupId>org.xxz</groupId>
<artifactId>scheduled-task-test</artifactId>
<version>1.0</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId> spring-boot-starter-parent</artifactId>
<version>2.0.0.RELEASE</version>
</parent>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId >
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
第二步 定時任務類(ScheduledTasks)
package org.xxz.task;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@Component
public class ScheduledTasks {
@Scheduled(fixedRate = 5000)
public void now() {
log.info("The time is now {}", new Date());
}
}
@Scheduled有三種類型引數fixedRate, fixedDelay, cron
fixedRate 表示每隔多少毫秒執行一次
fixedDelay 表示任務執行完成後隔多少毫秒執行一次
cron 定時任務表示式
第三步 啟動類(Application)
package org.xxz;
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);
}
}
第四步 打包執行
cd scheduled-task-test
mvn clean package
java -jar target/scheduled-task-test-1.0.jar
擴充套件知識:如果不想使用spring的任務排程,可以使用jdk自帶的任務排程類
ScheduledExecutorService#schedule
ScheduledExecutorService#scheduleAtFixedRate
ScheduledExecutorService#scheduleWithFixedDelay
今天的分享就到這裡了。謝謝閱讀。
相關推薦
spring定時任務排程quartz
1.maven依賴 <!-- 定時任務 --> <dependency> <groupId>quartz</groupId> <artifactId>quartz</artifactId> <v
spring定時任務排程
本文將告訴你如何使用spring的任務排程。主要使用@Scheduled註解 需要會使用maven 第一步 pom.xml配置 <?xml version="1.0" encoding="UTF-8"?> <proje
Spring定時任務排程【含cron引數詳解】
spring內部有一個task是Spring自帶的一個設定時間自動任務排程task使用的時候很方便,但是他能做的東西不如quartz那麼的多!可以使用註解和配置兩種方式,配置的方式如下引入Spring放在appcation.xml開頭<beans xmlns="http
Spring整合quartz定時任務排程的cronExpression配置說明(轉載)
Spring整合quartz定時任務排程 "* * * * * *" 欄位 允許值 允許的特殊字元 秒
spring task 任務排程 (定時任務)
0 0 10,14,16 * * ? 每天上午10點,下午2點,4點 0 0/30 9-17 * * ? 朝九晚五工作時間內每半小時 0 0 12 ? * WED 表示每個星期三中午12點 "0 0 12 * * ?" 每天中午12點觸發 "0 15 10 ? * *" 每天上午10:15觸發 "0
elastic-job替換掉原來的spring+quartz的定時任務排程
替換的原因: 我想用quartz實現定時任務叢集的時候,遇到過很坑的問題就是所有做叢集的機器都必須保證時間的一致性,要不然有很多機器的專案是起不來的;除此之外,使用quartz很容易造成資料庫死鎖的問題,雖然我已經降低了quartz的資料庫事務級別,但還是有這種情況發生,所
Spring quantz--定時任務排程工具
1.在xml中交給spring管理的一些類 <bean id="cancelOrderJobDetail" class="org.springframework.scheduling.quart
spring boot 整合quartz實現定時任務排程
1.pom檔案引入 <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId&
spring boot 整合quartz 定時任務排程
新增依賴: <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <ver
Spring和Quartz實現的定時任務排程
Corn表示式 一、增加所依賴的JAR包 1. 增加Spring的Maven依賴 <dependency> <groupId>org.springframework</groupId>
spring 實現動態定時任務排程
概述 使用spring框架實現動態定時任務排程,可以不重啟專案,只修改cron表示式,即可變更任務執行週期。 spring xml配置: <?xml version="1.0" encoding="UTF-8"?> <beans
Spring定時任務的幾種實現
job 將不 obb 簡單 信息 sim ger 觸發 一個 Spring定時任務的幾種實現: 近日項目開發中需要執行一些定時任務,比如需要在每天淩晨時候,分析一次前一天的日誌信息,借此機會整理了一下定時任務的幾種實現方式,由於項目采用spring框架,所以我都將結合 sp
轉 Spring定時任務的幾種實現 (記錄備用)
官方 ini src def lns 開發 enc http poj http://gong1208.iteye.com/blog/1773177 Spring定時任務的幾種實現 近日項目開發中需要執行一些定時任務,比如需要在每天淩晨時候,分析一次前一天的日誌信息,借此
spring定時任務
strac 屬性 ase port tin aop init 都是 開發 轉自:http://gong1208.iteye.com/blog/1773177 近日項目開發中需要執行一些定時任務,比如需要在每天淩晨時候,分析一次前一天的日誌信息,借此機會整理了一下定時任務
spring定時任務執行兩次的原因與解決方法
ref net 任務 article 服務 每次 bsp tail 本地 spring定時任務,本地執行一次,放到服務器上後,每次執行時會執行兩次,原因及解決辦法。 http://blog.csdn.net/yaobengen/article/details/70312
Spring 定時任務之 @Scheduled cron表達式
按順序 cron sun ron cell last div text table 一個cron表達式有至少6個(也可能7個)有空格分隔的時間元素。 按順序依次為 秒(0~59) 分鐘(0~59) 小時(0~23) 天(月)(0~31,但是你需要考慮你月的天數) 月(0~
spring定時任務的註解實現方式
sched class 單線程 pool job 默認 clas 線程 ref STEP 1:在spring配置文件中添加相應配置,以支持定時任務的註解實現 (一)在xml裏加入task的命名空間 <!-- beans裏添加:--> xmlns:task=
spring 定時任務
表示 eth ask color ring family font bean pre <!-- 定時任務 --><task:annotation-driven/> <!-- 註入定時任務 --><bean id="TimerTask
Spring 定時任務Scheduled 開發詳細圖文
定時執行 本地 setting 工具類 location fir clean scan crontab Spring 定時任務Scheduled 開發 文章目錄 一、前言 1.1 定時任務 1.2 開發環境 1.3 技術實現 二、創建包含WEB.
Spring定時(任務)刷新-quartz
參數 j2se pri 實現 觸發 gmv 方法 其中 實例 Quartz是一個完全由java編寫的開源作業調度框架。他可以與J2EE、J2SE集成,用與處理定時任務、定時刷新的需求。此處使用為與Spring項目集成。 在SpringMVC項目中使用quartz: 1.在