Spring Task 定時任務

2021-07-03 13:51:40 字數 1244 閱讀 2978

所謂定時任務,就是根據我們設定的時間定時執行任務,就像定時發郵件一樣,設定時間到了,郵件就會自動傳送。 在

spring

大行其道的今天,

spring

也提供了其定時任務功能,

spring

task。同

spring

的其他功能一樣,我們既可以通過配置檔案也可以通過註解形式來實現。

一、通過配置檔案 1

、任務執行類

import org.springframework.stereotype.service;  

@service

public class tasktest

}

2、

spring

配置檔案

<?xml version="1.0" encoding="utf-8"?>

.  .

.  

引數說明:

ref引數

是執行任務

的類,method

是類中需要

執行的方法,cron

執行表示式

表示執行的時間及策略。

二、通過註解 1

、任務執行類

import org.springframework.scheduling.annotation.scheduled;

import org.springframework.stereotype.component;

/** * 定時處理類

* * @author zjj

* @date 2015-6-30

*/@component

public class tasktest

}

這裡需要兩個註解:

@component:將該類完成bean建立和自動依賴注入

@scheduled:將該方法定義為spring定時呼叫的方法,其中cron指該方法執行的時間及策略

2、spring

配置檔案

<?xml version="1.0" encoding="utf-8"?>

總結

兩種方式實現定時任務都是很方便的,但是都存在同乙個問題,定時策略在專案啟動後我們無法動態修改,要修改就需要重啟服務,怎樣做到定時策略動態設定也將是後續解決的問題。

Spring Task定時任務

spring task是spring3.0以後提供的定時任務工具。使用spring定時任務,除spring相關的包外不需要新增額外的jar包,支援註解和xml配置兩種形式。準備工作 在spring配置檔案頭中新增命名空間xmlns task及描述。1.1編寫註解的定時任務類 import org.s...

Spring task定時任務

第一次寫定時任務,簡訊通知定時,雖然寫完了,但是感覺 不夠簡潔,效能不行害怕跑蹦了,放到這裡一是為了記錄,更多的是希望大家提出寶貴的意見。1.將使用者id拼接成字串,用來批量查詢使用者資訊。string memberid membertransactions.stream map membertra...

Spring Task定時任務

1.1.1.使用場景 1.1.2.定時任務對比 實現定時任務的方案如下 1 使用jdk的timer和timertask實現 可以實現簡單的間隔執行任務,無法實現按日曆去排程執行任務。2 使用quartz實現 quartz 是乙個非同步任務排程框架,功能豐富,可以實現按日曆排程。3 使用spring ...