国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Java 定時任務系列(2)-Spring 定時任務的幾種實現

roadtogeek / 2899人閱讀

本文來自網絡一些博客的整理(包括gong1208的博客 dary1715的博客)
1、簡介
這個系列介紹Spring框架實現定時任務的兩種方式以及一些高級的用法,包括:
1、使用Quartz,這是一個功能比較強大的的調度器,可以讓你的程序在指定時間執行,也可以按照某一個頻度執行,配置起來稍顯復雜,稍后會詳細介紹。
2、Spring3.0以后自帶的task,可以將它看成一個輕量級的Quartz,而且使用起來比Quartz簡單許多,稍后會介紹。

2、Quartz的使用
作業類繼承自特定基類的方式:org.springframework.scheduling.quartz.QuartzJobBean

①定義作業類:

import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.scheduling.quartz.QuartzJobBean;
public class Job1 extends QuartzJobBean {
    private int timeout;
    private static int i = 0;
    //調度工廠實例化后,經過timeout時間開始執行調度
    public void setTimeout(int timeout) {
        this.timeout = timeout;
    }
    /**
    * 要調度的具體任務
    */
    @Override
    protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
        System.out.println("定時任務執行中…");
    }
}

②spring配置文件中配置作業類JobDetailBean


    
    
        
            
        
    

說明:org.springframework.scheduling.quartz.JobDetailBean有兩個屬性,jobClass屬性即我們在java代碼中定義的任務類,jobDataAs

③配置作業調度的觸發方式(觸發器)
Quartz的作業觸發器有兩種,分別是

org.springframework.scheduling.quartz.SimpleTriggerBean

org.springframework.scheduling.quartz.CronTriggerBean

第一種SimpleTriggerBean,只支持按照一定頻度調用任務,如每隔30分鐘運行一次。

配置方式如下:


    
    
    

第二種CronTriggerBean,支持到指定時間運行一次,如每天12:00運行一次等。


    
    
    

④配置調度工廠


    
        
            
        
    

⑤啟動你的應用即可,即將工程部署至tomcat或其他容器。
到此,spring中Quartz的基本配置就介紹完了,當然了,使用之前,要導入相應的spring的包與Quartz的包,這些就不消多說了。

其實可以看出Quartz的配置看上去還是挺復雜的,沒有辦法,因為Quartz其實是個重量級的工具,如果我們只是想簡單的執行幾個簡單的定時任務,有沒有更簡單的工具 請看我第下文Spring task的介紹。
特別的,關于CronExpression 的詳細用戶,請參考dary1715的博客

3、Spring Task
上節介紹了在Spring 中使用Quartz,本文介紹Spring3.0以后自主開發的定時任務工具,spring task,可以將它比作一個輕量級
的Quartz,而且使用起來很簡單,除spring相 關的包外不需要額外的包,而且支持注解和配置文件兩種
形式,下面將分別介紹這兩種方式。

配置文件方式:

①配置作業類
即普通的pojo,如下:

import org.springframework.stereotype.Service;
@Service
public class TaskJob {

    public void job1() {
        System.out.println(a??task exe...a??);
    }
}

②在spring配置文件頭中添加命名空間及描述


③spring配置文件中設置具體的任務

 
     


說明:ref參數指定的即任務類,method指定的即需要運行的方法,cron及cronExpression表達式,具體寫法這里不介紹了,詳情見上篇文章附錄。

這個配置不消多說了,spring掃描注解用的。

到這里配置就完成了,是不是很簡單。

使用注解形式:

① 編寫普通的POJO

import org.springframework.scheduling.annotation.Scheduled;  
import org.springframework.stereotype.Component;
@Component(“taskJob”)
public class TaskJob {
@Scheduled(cron = "0 0 3 * * ?")
    public void job1() {
        System.out.println(“任務進行中。。。”);
    }
}

②添加task相關的配置:











其他關于Spring Task使用的例子請參照 參考鏈接1 參考鏈接2

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/64228.html

相關文章

  • springboot整合quarzt實現動態定時任務

    摘要:而我這里定時任務的觸發是要通過接口的方式來觸發,所以只用實現以下的調度器即可。我這里簡單說下任務的調度器,具體的任務類,觸發器,任務什么時候執行是由它決定的。遇到的坑解決方式這個是因為不兼容的問題,所以使用是不會出現這個錯誤的。 實現定時任務的幾種方式: 1.使用linux的crontab 優點: 1.使用方式很簡單,只要在crontab中寫好 2.隨時可以修改,不需要...

    hoohack 評論0 收藏0
  • SpringBoot中并發定時任務實現、動態定時任務實現(看這一篇就夠了)

    摘要:也是自帶的一個基于線程池設計的定時任務類。其每個調度任務都會分配到線程池中的一個線程執行,所以其任務是并發執行的,互不影響。 原創不易,如需轉載,請注明出處https://www.cnblogs.com/baixianlong/p/10659045.html,否則將追究法律責任?。。?一、在JAVA開發領域,目前可以通過以下幾種方式進行定時任務 1、單機部署模式 Timer:jdk中...

    BWrong 評論0 收藏0
  • SpringBoot下使用定時任務的方式全揭秘

    摘要:定時任務間隔時間方式執行一次定時任務線程休眠規定時間類類允許調度一個任務。引入依賴配置測試執行一次定時任務使用注解是為定時任務而生的一個注解,查看注解的源碼表達式接收一個。 本文旨在用通俗的語言講述枯燥的知識 定時任務作為一種系統調度工具,在一些需要有定時作業的系統中應用廣泛,如每逢某個時間點統計數據、在將來某個時刻執行某些動作...定時任務在主流開發語言均提供相應的API供開發者調用...

    DevTTL 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<