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

資訊專欄INFORMATION COLUMN

Java 定時(shí)任務(wù)系列(2)-Spring 定時(shí)任務(wù)的幾種實(shí)現(xiàn)

roadtogeek / 2889人閱讀

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

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

①定義作業(yè)類:

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;
    //調(diào)度工廠實(shí)例化后,經(jīng)過(guò)timeout時(shí)間開(kāi)始執(zhí)行調(diào)度
    public void setTimeout(int timeout) {
        this.timeout = timeout;
    }
    /**
    * 要調(diào)度的具體任務(wù)
    */
    @Override
    protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
        System.out.println("定時(shí)任務(wù)執(zhí)行中…");
    }
}

②spring配置文件中配置作業(yè)類JobDetailBean


    
    
        
            
        
    

說(shuō)明:org.springframework.scheduling.quartz.JobDetailBean有兩個(gè)屬性,jobClass屬性即我們?cè)趈ava代碼中定義的任務(wù)類,jobDataAs

③配置作業(yè)調(diào)度的觸發(fā)方式(觸發(fā)器)
Quartz的作業(yè)觸發(fā)器有兩種,分別是

org.springframework.scheduling.quartz.SimpleTriggerBean

org.springframework.scheduling.quartz.CronTriggerBean

第一種SimpleTriggerBean,只支持按照一定頻度調(diào)用任務(wù),如每隔30分鐘運(yùn)行一次。

配置方式如下:


    
    
    

第二種CronTriggerBean,支持到指定時(shí)間運(yùn)行一次,如每天12:00運(yùn)行一次等。


    
    
    

④配置調(diào)度工廠


    
        
            
        
    

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

其實(shí)可以看出Quartz的配置看上去還是挺復(fù)雜的,沒(méi)有辦法,因?yàn)镼uartz其實(shí)是個(gè)重量級(jí)的工具,如果我們只是想簡(jiǎn)單的執(zhí)行幾個(gè)簡(jiǎn)單的定時(shí)任務(wù),有沒(méi)有更簡(jiǎn)單的工具 請(qǐng)看我第下文Spring task的介紹。
特別的,關(guān)于CronExpression 的詳細(xì)用戶,請(qǐng)參考dary1715的博客

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

配置文件方式:

①配置作業(yè)類
即普通的pojo,如下:

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

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

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


③spring配置文件中設(shè)置具體的任務(wù)

 
     


說(shuō)明:ref參數(shù)指定的即任務(wù)類,method指定的即需要運(yùn)行的方法,cron及cronExpression表達(dá)式,具體寫(xiě)法這里不介紹了,詳情見(jiàn)上篇文章附錄。

這個(gè)配置不消多說(shuō)了,spring掃描注解用的。

到這里配置就完成了,是不是很簡(jiǎn)單。

使用注解形式:

① 編寫(xiě)普通的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(“任務(wù)進(jìn)行中。。。”);
    }
}

②添加task相關(guān)的配置:











其他關(guān)于Spring Task使用的例子請(qǐng)參照 參考鏈接1 參考鏈接2

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/64228.html

相關(guān)文章

  • springboot整合quarzt實(shí)現(xiàn)動(dòng)態(tài)定時(shí)任務(wù)

    摘要:而我這里定時(shí)任務(wù)的觸發(fā)是要通過(guò)接口的方式來(lái)觸發(fā),所以只用實(shí)現(xiàn)以下的調(diào)度器即可。我這里簡(jiǎn)單說(shuō)下任務(wù)的調(diào)度器,具體的任務(wù)類,觸發(fā)器,任務(wù)什么時(shí)候執(zhí)行是由它決定的。遇到的坑解決方式這個(gè)是因?yàn)椴患嫒莸膯?wèn)題,所以使用是不會(huì)出現(xiàn)這個(gè)錯(cuò)誤的。 實(shí)現(xiàn)定時(shí)任務(wù)的幾種方式: 1.使用linux的crontab 優(yōu)點(diǎn): 1.使用方式很簡(jiǎn)單,只要在crontab中寫(xiě)好 2.隨時(shí)可以修改,不需要...

    hoohack 評(píng)論0 收藏0
  • SpringBoot中并發(fā)定時(shí)任務(wù)實(shí)現(xiàn)、動(dòng)態(tài)定時(shí)任務(wù)實(shí)現(xiàn)(看這一篇就夠了)

    摘要:也是自帶的一個(gè)基于線程池設(shè)計(jì)的定時(shí)任務(wù)類。其每個(gè)調(diào)度任務(wù)都會(huì)分配到線程池中的一個(gè)線程執(zhí)行,所以其任務(wù)是并發(fā)執(zhí)行的,互不影響。 原創(chuàng)不易,如需轉(zhuǎn)載,請(qǐng)注明出處https://www.cnblogs.com/baixianlong/p/10659045.html,否則將追究法律責(zé)任!!! 一、在JAVA開(kāi)發(fā)領(lǐng)域,目前可以通過(guò)以下幾種方式進(jìn)行定時(shí)任務(wù) 1、單機(jī)部署模式 Timer:jdk中...

    BWrong 評(píng)論0 收藏0
  • SpringBoot下使用定時(shí)任務(wù)的方式全揭秘

    摘要:定時(shí)任務(wù)間隔時(shí)間方式執(zhí)行一次定時(shí)任務(wù)線程休眠規(guī)定時(shí)間類類允許調(diào)度一個(gè)任務(wù)。引入依賴配置測(cè)試執(zhí)行一次定時(shí)任務(wù)使用注解是為定時(shí)任務(wù)而生的一個(gè)注解,查看注解的源碼表達(dá)式接收一個(gè)。 本文旨在用通俗的語(yǔ)言講述枯燥的知識(shí) 定時(shí)任務(wù)作為一種系統(tǒng)調(diào)度工具,在一些需要有定時(shí)作業(yè)的系統(tǒng)中應(yīng)用廣泛,如每逢某個(gè)時(shí)間點(diǎn)統(tǒng)計(jì)數(shù)據(jù)、在將來(lái)某個(gè)時(shí)刻執(zhí)行某些動(dòng)作...定時(shí)任務(wù)在主流開(kāi)發(fā)語(yǔ)言均提供相應(yīng)的API供開(kāi)發(fā)者調(diào)用...

    DevTTL 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<