成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Spring 指南(調(diào)度任務(wù))

xiaochao / 3472人閱讀

摘要:調(diào)度任務(wù)本指南將指導(dǎo)你完成使用調(diào)度任務(wù)的步驟。創(chuàng)建調(diào)度任務(wù)現(xiàn)在你已經(jīng)設(shè)置了項(xiàng)目,可以創(chuàng)建調(diào)度任務(wù)。還有其他選項(xiàng),例如,它指定從完成任務(wù)計(jì)算的調(diào)用之間的間隔,你還可以使用表達(dá)式進(jìn)行更復(fù)雜的任務(wù)調(diào)度。

調(diào)度任務(wù)

本指南將指導(dǎo)你完成使用Spring調(diào)度任務(wù)的步驟。

將要構(gòu)建什么

你將構(gòu)建一個(gè)應(yīng)用程序,使用Spring的@Scheduled注解每五秒打印一次當(dāng)前時(shí)間。

需要什么

大約15分鐘

最喜歡的文本編輯器或IDE

JDK 1.8或更高版本

Gradle 4+或Maven 3.2+

你還可以將代碼直接導(dǎo)入IDE:

Spring Tool Suite(STS)

IntelliJ IDEA

如何完成本指南

請(qǐng)執(zhí)行以下操作:

下載并解壓縮本指南的源存儲(chǔ)庫(kù),或使用Git克隆它:

git clone https://github.com/spring-guides/gs-scheduling-tasks.git

進(jìn)入gs-scheduling-tasks/initial

完成后,你可以根據(jù)gs-scheduling-tasks/complete中的代碼檢查結(jié)果。

創(chuàng)建調(diào)度任務(wù)

現(xiàn)在你已經(jīng)設(shè)置了項(xiàng)目,可以創(chuàng)建調(diào)度任務(wù)。

src/main/java/hello/ScheduledTasks.java
package hello;

import java.text.SimpleDateFormat;
import java.util.Date;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

@Component
public class ScheduledTasks {

    private static final Logger log = LoggerFactory.getLogger(ScheduledTasks.class);

    private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");

    @Scheduled(fixedRate = 5000)
    public void reportCurrentTime() {
        log.info("The time is now {}", dateFormat.format(new Date()));
    }
}

Scheduled注解定義特定方法何時(shí)運(yùn)行,注意:此示例使用fixedRate,它指定從每次調(diào)用的開始時(shí)間計(jì)算的方法調(diào)用之間的間隔。還有其他選項(xiàng),例如fixedDelay,它指定從完成任務(wù)計(jì)算的調(diào)用之間的間隔,你還可以使用@Scheduled(cron=". . .")表達(dá)式進(jìn)行更復(fù)雜的任務(wù)調(diào)度。

啟用調(diào)度

雖然調(diào)度任務(wù)可以嵌入到Web應(yīng)用程序和WAR文件中,但下面演示的更簡(jiǎn)單的方法創(chuàng)建了一個(gè)獨(dú)立的應(yīng)用程序,將所有內(nèi)容打包在一個(gè)可執(zhí)行的JAR文件中,由main()方法驅(qū)動(dòng)。

src/main/java/hello/Application.java
package hello;

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);
    }
}

@SpringBootApplication是一個(gè)方便的注解,添加了以下所有內(nèi)容:

@Configuration將類標(biāo)記為應(yīng)用程序上下文的bean定義源。

@EnableAutoConfiguration告訴Spring Boot根據(jù)類路徑設(shè)置、其他bean和各種屬性設(shè)置開始添加bean。

通常你會(huì)為Spring MVC應(yīng)用添加@EnableWebMvc,但Spring Boot會(huì)在類路徑上看到spring-webmvc時(shí)自動(dòng)添加它,這會(huì)將應(yīng)用程序標(biāo)記為Web應(yīng)用程序并激活關(guān)鍵行為,例如設(shè)置DispatcherServlet。

@ComponentScan告訴Spring在hello包中查找其他組件、配置和服務(wù),允許它找到控制器。

main()方法使用Spring Boot的SpringApplication.run()方法來啟動(dòng)應(yīng)用程序,你是否注意到?jīng)]有一行XML?也沒有web.xml文件,此Web應(yīng)用程序是100%純Java,你無需處理配置任何管道或基礎(chǔ)結(jié)構(gòu)。

@EnableScheduling確保創(chuàng)建后臺(tái)任務(wù)執(zhí)行程序,沒有它,就沒有任何調(diào)度。

構(gòu)建可執(zhí)行的JAR

你可以使用Gradle或Maven從命令行運(yùn)行該應(yīng)用程序,或者,你可以構(gòu)建一個(gè)包含所有必需依賴項(xiàng)、類和資源的可執(zhí)行JAR文件,并運(yùn)行它,這使得在整個(gè)開發(fā)生命周期中、跨不同環(huán)境等將服務(wù)作為應(yīng)用程序發(fā)布、版本和部署變得容易。

如果你使用的是Gradle,則可以使用./gradlew bootRun運(yùn)行該應(yīng)用程序,或者你可以使用./gradlew build構(gòu)建JAR文件,然后你可以運(yùn)行JAR文件:

java -jar build/libs/gs-scheduling-tasks-0.1.0.jar

如果你使用的是Maven,則可以使用./mvnw spring-boot:run運(yùn)行該應(yīng)用程序,或者你可以使用./mvnw clean package構(gòu)建JAR文件,然后你可以運(yùn)行JAR文件:

java -jar target/gs-scheduling-tasks-0.1.0.jar
上面的過程將創(chuàng)建一個(gè)可運(yùn)行的JAR,你也可以選擇構(gòu)建經(jīng)典WAR文件。

顯示日志輸出,你可以從日志中看到它在后臺(tái)線程上,你應(yīng)該看到你的調(diào)度任務(wù)每5秒出發(fā)一次:

[...]
2016-08-25 13:10:00.143  INFO 31565 --- [pool-1-thread-1] hello.ScheduledTasks : The time is now 13:10:00
2016-08-25 13:10:05.143  INFO 31565 --- [pool-1-thread-1] hello.ScheduledTasks : The time is now 13:10:05
2016-08-25 13:10:10.143  INFO 31565 --- [pool-1-thread-1] hello.ScheduledTasks : The time is now 13:10:10
2016-08-25 13:10:15.143  INFO 31565 --- [pool-1-thread-1] hello.ScheduledTasks : The time is now 13:10:15

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/73131.html

相關(guān)文章

  • Spring 指南(目錄)

    摘要:指南無論你正在構(gòu)建什么,這些指南都旨在讓你盡快提高工作效率使用團(tuán)隊(duì)推薦的最新項(xiàng)目版本和技術(shù)。使用進(jìn)行消息傳遞了解如何將用作消息代理。安全架構(gòu)的主題指南,這些位如何組合以及它們?nèi)绾闻c交互。使用的主題指南以及如何為應(yīng)用程序創(chuàng)建容器鏡像。 Spring 指南 無論你正在構(gòu)建什么,這些指南都旨在讓你盡快提高工作效率 — 使用Spring團(tuán)隊(duì)推薦的最新Spring項(xiàng)目版本和技術(shù)。 入門指南 這些...

    only_do 評(píng)論0 收藏0
  • spring定時(shí)任務(wù)調(diào)度

    本文將告訴你如何使用spring的任務(wù)調(diào)度。主要使用@Scheduled注解 需要會(huì)使用maven 第一步 pom.xml配置 4.0.0 org.xxz scheduled-task-test 1.0 org.springframework.boot spring-boot-starter-parent ...

    nodejh 評(píng)論0 收藏0
  • Java 定時(shí)任務(wù)系列(2)-Spring 定時(shí)任務(wù)的幾種實(shí)現(xiàn)

    本文來自網(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í)行,配置起來稍顯復(fù)雜,稍后會(huì)詳細(xì)介紹。 2、Spring3.0以后自帶的task,可以將它看成一個(gè)輕量級(jí)的Quartz,而且...

    roadtogeek 評(píng)論0 收藏0
  • quartz實(shí)現(xiàn)定時(shí)任務(wù)

    摘要:一介紹在企業(yè)應(yīng)用中,我們經(jīng)常會(huì)碰到時(shí)間任務(wù)調(diào)度的需求,比如每天凌晨生成前天報(bào)表,每小時(shí)生成一次匯總數(shù)據(jù)等等。三者關(guān)系簡(jiǎn)單來說就是,調(diào)度器負(fù)責(zé)調(diào)度各個(gè)任務(wù),到了某個(gè)時(shí)刻或者過了一定時(shí)間,觸發(fā)器觸動(dòng)了,特定任務(wù)便啟動(dòng)執(zhí)行。 一、Quartz介紹   在企業(yè)應(yīng)用中,我們經(jīng)常會(huì)碰到時(shí)間任務(wù)調(diào)度的需求,比如每天凌晨生成前天報(bào)表,每小時(shí)生成一次匯總數(shù)據(jù)等等。Quartz是出了名的任務(wù)調(diào)度框架,它可...

    tylin 評(píng)論0 收藏0
  • 產(chǎn)品概述 智能大數(shù)據(jù)平臺(tái) USDP

    摘要:產(chǎn)品概述產(chǎn)品概述產(chǎn)品概述本篇目錄產(chǎn)品特點(diǎn)產(chǎn)品特點(diǎn)功能簡(jiǎn)介功能簡(jiǎn)介操作指南操作指南開發(fā)指南開發(fā)指南任務(wù)調(diào)度任務(wù)調(diào)度產(chǎn)品價(jià)格產(chǎn)品價(jià)格簡(jiǎn)稱,是推出的云上智能化輕量級(jí)的大數(shù)據(jù)基礎(chǔ)服務(wù)平臺(tái),能夠幫您快速構(gòu)建起大數(shù)據(jù)的分析處理能力。 產(chǎn)品概述本篇目錄產(chǎn)品特點(diǎn)功能簡(jiǎn)介操作指南開發(fā)指南任務(wù)調(diào)度產(chǎn)品價(jià)格UCloud Smart Data Platform(簡(jiǎn)稱 USDP),是 UCloud 推出的云上智能化、...

    ernest.wang 評(píng)論0 收藏441

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

0條評(píng)論

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