領先一步
VMware 提供培訓和認證,助您加速進步。
瞭解更多親愛的Spring社群!
我很高興宣佈支援 Amazon Web Services 的 Spring 專案的里程碑版本釋出:Spring Integration for AWS 2.0.0.M2 和 Spring Cloud Stream Binder for AWS Kinesis 1.0.0.M2。
這兩個里程碑版本都可以在 Spring Milestone 倉庫中獲取,並且可以作為 Maven 依賴項使用。
<dependency>
<groupId>org.springframework.integration</groupId>
<artifactId>spring-integration-aws</artifactId>
<version>2.0.0.M2</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-stream-binder-kinesis</artifactId>
<version>1.0.0.M2</version>
</dependency>
當第二個依賴項(Spring Cloud Stream Binder for AWS Kinesis)在使用時,第一個依賴項(Spring Integration for AWS)是不需要單獨包含的。對於 AWS Kinesis Binder,AWS Kinesis 和 AWS DynamoDB 的 Java SDK 依賴項也會被傳遞性地包含進來。
這些里程碑版本的釋出是團隊和一些第三方貢獻者辛勤工作的成果,他們從社群透過 StackOverflow 問題、Gitter 聊天、bug 報告和功能請求中獲得了寶貴的反饋。在此,感謝所有參與者!
以下是自上次宣佈的 里程碑 1 以來的變更:
KinesisMessageDrivenChannelAdapter 在 AWS 客戶端出現間歇性網路錯誤時,其容錯能力得到了改進。
Kinesis Checkpointer 已得到改進,基於 ConcurrentMetadataStore,以實現更好的併發互動,尤其是在叢集環境(消費者組)中。
為 SqsMessageHandler 和 SnsMessageHandler 實現了一個頭對映機制,分別是開箱即用的實現 SqsHeaderMapper 和 SnsHeaderMapper。
由於 AWS Kinesis 不提供任何頭資訊註解,我們透過將頭資訊“嵌入”到 Kinesis Record 主體中實現了變通。為此,KinesisMessageHandler 和 KinesisMessageDrivenChannelAdapter 應分別配置 OutboundMessageMapper 和 InboundMessageMapper。一個不錯的選擇是,在雙方都可以使用開箱即用的 Spring Integration EmbeddedJsonHeadersMessageMapper 來透過 AWS Kinesis 傳遞任何所需的message headers。
KinesisMessageDrivenChannelAdapter 還提供了當使用 ListenerMode.batch 時轉換記錄的邏輯。
KinesisMessageChannelBinder 已根據 Spring Cloud Stream 和 Spring Integration AWS 的最新更改和修復進行了更新。
此外,還引入了一個新的 rawRecords 監聽器模式。預設情況下,Kinesis Binder 配置為 record 模式,其中要發出的訊息包含 byte[] 作為 payload,供 Spring Cloud Stream 進行下游轉換。batch 模式現在生成 List<byte[]>,而新的 rawRecords 模式生成一個 payload 為 List<Record> 的訊息——所有的業務模型轉換邏輯都由目標 @StreamListener 方法的使用者自行處理。
一如既往,我們歡迎透過適當的溝通渠道提出任何反饋、功能想法、批評、bug 報告和問題!
Spring Integration AWS 專案頁面 | Spring Cloud Stream Binder for AWS Kinesis 專案頁面 | 幫助 | 聊天