Spring Cloud Stream Fishtown.RC1 /2.1.0.RC1 版本發布公告

工程 | Oleg Zhurakousky | 2018 年 10 月 30 日 | ...

我們很高興宣布 Spring Cloud Stream Fishtown 發布系列的第一个候選版本 - Fishtown.RC1/2.1.0.RC1。

Spring Cloud Stream Fishtown 2.1.0.RC1 可在 Spring Milestone 儲存庫中使用。

以下章節提供了此版本中包含的功能和改進的簡要摘要。

值得注意的依賴項升級

  • Spring Boot 2.1.0.RC1
  • Reactor Californium.RELEASE
  • Spring Cloud Function 2.1.0.RC1

Spring Cloud Function 支援

此版本的主要主題是引入一種新的編程模型,該模型使用 Spring Cloud Function 作為定義流處理程序來源的替代方法,現在可以將其表示為 java.util.function.[Supplier/Function/Consumer] 类型的 bean

要指定將哪個功能 bean 綁定到綁定公開的外部目的地,您必須提供 spring.cloud.stream.function.definition 屬性。

以下是將訊息處理程序公開為 java.util.function.Function 的 Processor 應用程式範例

@SpringBootApplication
@EnableBinding(Processor.class)
public class MyFunctionBootApp {

	public static void main(String[] args) {
		SpringApplication.run(MyFunctionBootApp.class, 
                  "--spring.cloud.stream.function.definition=toUpperCase");
	}

	@Bean
	public Function<String, String> toUpperCase() {
		return s -> s.toUpperCase();
	}
}

在上面的範例中,我們只是定義一個名為 toUpperCasejava.util.function.Function 類型的 bean,並將其識別為用作訊息處理程序的 bean,其輸入輸出將綁定到 Processor 綁定公開的外部目的地。

函數組合

使用此編程模型,您還可以從函數組合中受益,您可以從一組簡單的函數中動態組合複雜的處理程序。 例如,將以下函數 bean 添加到上面定義的應用程式

@Bean
public Function<String, String> wrapInQuotes() {
	return s -> "\"" + s + "\"";
}

並修改 spring.cloud.stream.function.definition 屬性以反映您想要從 toUpperCasewrapInQuotes 組合一個新函數的意圖。 為此,Spring Cloud Function 允許您使用 | (pipe) 符號。 因此,要完成我們的範例,我們的屬性現在將如下所示

--spring.cloud.stream.function.definition=toUpperCase|wrapInQuotes

其他值得注意的功能、改進和增強

核心

  • 圍繞多綁定場景的改進和增強
  • 圍繞預設配置屬性與綁定特定配置屬性處理方式的主要改進 (涵蓋核心、rabbit 和 kafka 綁定器)

除了 M1M2 中的變更和改進之外,這是此 版本的改進列表

Rabbit 綁定器

除了 M1M2 中的變更和改進之外,這是此 版本的改進列表

Kafka 綁定器

除了 M1M2 中的變更和改進之外,這是此 版本的改進列表

品質改進

作為不斷努力提高代碼品質並評估框架組件的合約正確性的一部分,我們有一個新的 驗收測試專案,用於在 Cloud Foundry 和 Kubernetes 上引導 Spring Cloud Stream 應用程式。 這些測試每天在全新重鋪的環境中運行多次。 我們希望這能為社群和客戶在目標平台上構建更多自動化管道提供基礎。

Kinesis 綁定器

在此版本中,我們還想強調最近發布的 Kinesis 綁定器

注意

如果應用程式是從 Spring Initializr 建立的,則它們需要在 spring-cloud BOM 宣告之前在 maven 依賴項管理中添加此 BOM 片段,否則您最終會得到最新的快照 (因為它包含 M2 中的所有工作,這可能沒問題)

<dependency>
           <groupId>org.springframework.cloud</groupId>
           <artifactId>spring-cloud-stream-dependencies</artifactId>
           <version>Fishtown.RC1</version>
           <type>pom</type>
           <scope>import</scope>
</dependency>

下一步

RC2 計劃在幾週內發布,然後是 Fishtown.RELEASE。

與往常一樣,我們歡迎您的回饋和貢獻,因此請透過 StackoverflowGitHub 或透過 Gitter 與我們聯繫。

取得 Spring 電子報

訂閱 Spring 電子報,隨時掌握最新資訊

訂閱

搶先一步

VMware 提供培訓和認證,可加速您的進度。

瞭解更多

取得支援

Tanzu Spring 在一個簡單的訂閱中提供 OpenJDK™、Spring 和 Apache Tomcat® 的支援和二進位檔案。

瞭解更多

即將舉辦的活動

查看 Spring 社群中所有即將舉辦的活動。

檢視全部