Spring系列學習之Spring Cloud Task微服務上下文執行任務
英文原文:https://spring.io/projects/spring-cloud-task
目錄
概述
Spring Cloud Task允許使用者使用Spring Cloud開發和執行短期微服務,並在雲和本地執行,甚至在Spring Cloud Data Flow上執行。 只需新增@EnableTask並將您的應用程式作為Spring Boot應用程式(單個應用程式上下文)執行。 如果您不熟悉Spring Cloud Task,請檢視我們的入門文件。
快速開始
學習
文件
每個Spring專案都有自己的; 它詳細解釋瞭如何使用專案功能以及使用它們可以實現的功能。
2.0.0 CURRENT GA | Reference Doc. | API Doc. |
2.1.0 M2 PRE | Reference Doc. | API Doc. |
1.3.1 GA | Reference Doc. | API Doc. |
1.3.0 GA | Reference Doc. | API Doc. |
1.2.3 GA | Reference Doc. | API Doc. |
1.2.2 GA | Reference Doc. | API Doc. |
1.1.2 GA | Reference Doc. | API Doc. |
示例
要完成我們的應用程式,我們需要建立一個Java檔案。 預設情況下,Maven從src / main / java編譯原始碼,因此您需要建立該資料夾結構。 然後,您需要新增名為src / main / java / com / example / SampleTask.java的檔案,如以下示例所示:
package com.example;
import org.springframework.boot.*;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.task.configuration.EnableTask;
import org.springframework.context.annotation.Bean;
@SpringBootApplication
@EnableTask
public class SampleTask {
@Bean
public CommandLineRunner commandLineRunner() {
return new HelloWorldCommandLineRunner();
}
public static void main(String[] args) {
SpringApplication.run(SampleTask.class, args);
}
public static class HelloWorldCommandLineRunner implements CommandLineRunner {
@Override
public void run(String... strings) throws Exception {
System.out.println("Hello, World!");
}
}
}
雖然它可能看起來很小,但仍有相當多的事情發生。 有關Spring Boot細節的更多資訊,請參閱Spring Boot參考文件。
我們還需要在src / main / resources中建立一個application.properties檔案。 我們需要在application.properties中配置兩個屬性:我們需要設定應用程式名稱(轉換為任務名稱),我們需要將Spring Cloud Task的日誌記錄設定為DEBUG,以便我們可以看到正在發生的事情。 以下示例顯示瞭如何執行這兩個操作:
logging.level.org.springframework.cloud.task=DEBUG
spring.application.name=helloWorld
@EnableTask註解
我們示例中的第一個非引導註釋是@EnableTask註解。這個類級別的註釋告訴Spring Cloud Task引導它的功能。預設情況下,它會匯入其他配置類(SimpleTaskConfiguration)。此附加配置註冊TaskRepository及其使用的基礎結構。
開箱即用,TaskRepository使用記憶體對映來記錄任務的結果。對於生產環境而言,Map不是實用的解決方案,因為一旦任務結束,Map就會消失。但是,為了快速入門體驗,我們將此作為預設使用,並在日誌中回顯該儲存庫中正在更新的內容。在第8章“配置”部分(本文件後面)中,我們將介紹如何自定義Spring Cloud Task提供的部分的配置。
當我們的示例應用程式執行時,Spring Boot啟動我們的HelloWorldCommandLineRunner並輸出我們的“Hello,World!”訊息到標準輸出。 TaskLifecyceListener在儲存庫中記錄任務的開始和任務的結束。