Spring Cloud Task 1.0.0.M2 現已釋出

釋出 | Michael Minella | 2016 年 4 月 29 日 | ...

我們很高興地宣佈釋出 Spring Cloud Task 1.0.0.M2。這是 Spring Cloud Task 專案的第二個里程碑版本,包含一些令人興奮的新特性!

新增功能?

在 Spring Cloud Task 的 M1 版本中,我們引入了任務的概念、@EnableTask 註解以及微服務具有終點的一般概念。從那時起,我們一直非常忙碌。新增的一些亮點包括:

  • Spring Cloud Task 監聽器
  • 與 Spring Cloud Stream 的整合
  • 與 Spring Batch 的整合
  • 更多示例

讓我們來看看這些都包含什麼。

Spring Cloud Task 監聽器

在任務執行之前或之後(或兩者)執行邏輯可能很有用。此版本引入了介面 TaskExecutionListener,以及註解 @BeforeTask@AfterTask,允許使用者定義在任務執行之前或完成後執行的邏輯。

與 Spring Cloud Stream 的整合

將 Spring Cloud Task 與 Spring Cloud Stream 整合,為開發人員編排資料微服務建立了一個強大的工具。在 Spring Cloud Task 的此版本中,我們在這兩個專案之間添加了一些整合點。

第一個整合點是能夠根據透過流傳送的訊息啟動任務。透過使用 @EnableTaskLauncher 註解和正確的依賴項建立 Boot 應用程式,您將擁有一個監聽 TaskLaunchRequest 訊息的 Spring Cloud Stream Sink。對於收到的每條訊息,啟動器 Sink 將啟動請求的任務。

@SpringBootApplication
@EnableTaskLauncher
public class TaskSinkApplication {

	public static void main(String[] args) {
		SpringApplication.run(TaskSinkApplication.class, args);
	}
}

截至本文撰寫之時,本地和 Apache YARN 的啟動器均已可用,而 CloudFoundry、Apache Mesos 和 Kubernetes 均在開發中。

Spring Cloud Task 和 Spring Cloud Stream 之間的另一個整合點是 Spring Cloud Task 能夠將事件釋出到 Spring Cloud Stream 通道。在您的專案中包含 spring-cloud-task-stream 依賴項(以及您選擇的 Spring Cloud Stream 繫結器),任務將在任務開始和結束時自動發出訊息。具體來說,任務將在這些點發出 TaskExecution,允許上游應用程式在任務啟動時以及任務結束和結果時收到通知。

與 Spring Batch 的整合

使用 Spring Cloud Task 的一個常見用例是執行 Spring Batch 作業。因此,我們在新模組 spring-cloud-task-batch 中在這兩個專案之間添加了一些有趣的整合點。

第一個整合點是透過 Spring Cloud Stream 通道傳送批處理資訊訊息。類似於 Spring XD 容器提供的功能,作為任務執行的批處理作業(具有適當的依賴項)可以在無需額外配置的情況下發出資訊訊息。以下監聽器發出某種事件:

  • JobExecutionListener
  • StepExecutionListener
  • ChunkListener
  • ItemReadListener
  • ItemProcessListener
  • ItemWriteListener
  • SkipListener

第二個整合點是一個新的 PartitionHandler,即 DeployerPartitionHandler。此 PartitionHandler 實現允許遠端分割槽批處理作業中的 worker 作為任務啟動,而不是提前部署並要求監聽工作。這提供了在 worker 僅在執行工作時才部署和執行,並在工作完成後關閉和清理的好處。DeployerPartitionHandler 將任務的啟動委託給 Spring Cloud Deployer 實現,因此任何支援任務啟動的 deployer 實現都可以與此新的 PartitionHandler 一起使用。

更多示例

瞭解事物工作原理的最簡單方法是親身實踐。因此,我們加強了示例模組,以提供此處提及的所有功能以及一些更基本用例的示例。您可以在 Github 上檢視我們的新示例。

我們接下來該怎麼做?

在釋出 RC 版本之前,我們還有一些工作要做,RC 版本應與 Spring Cloud Data Flow 的相關版本保持一致。我們將忙於處理 Spring Cloud Task 中的任何最終問題,並提供 Spring Cloud Data Flow 所需的其他任何內容。

告訴我們您的想法!

Spring Cloud Task 是一個令人興奮的新專案,我們認為它填補了企業開發中服務不足的領域。但是,我們想知道您的想法。請透過 Github IssuesStackOverflow 或直接在 Twitter 上告訴我們!

獲取 Spring 新聞通訊

透過 Spring 新聞通訊保持聯絡

訂閱

領先一步

VMware 提供培訓和認證,助您加速進步。

瞭解更多

獲得支援

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支援和二進位制檔案,只需一份簡單的訂閱。

瞭解更多

即將舉行的活動

檢視 Spring 社群所有即將舉行的活動。

檢視所有