搶先一步
VMware 提供培訓和認證,以加速您的進步。
瞭解更多尊敬的 Spring 社群!
我很高興宣佈 Spring 專案的支援 Amazon Web Services 的里程碑版本: 用於 AWS 的 Spring Integration 2.0.0.M2
和 用於 AWS Kinesis 的 Spring Cloud Stream Binder 1.0.0.M2
。
這兩個里程碑版本都可以在 Spring 里程碑儲存庫中找到,它們可以作為 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>
當使用第二個依賴項時,不需要包含第一個依賴項。 AWS Kinesis 和 AWS DynamoDB Java SDK 依賴項也以傳遞方式包含在 AWS Kinesis Binder 中。
這些里程碑是團隊和一些第三方貢獻者在透過 StackOverflow 問題、Gitter 聊天、錯誤報告和功能請求獲得的社群寶貴反饋後做出的努力成果。因此,感謝所有參與者!
以下是自之前宣佈的 里程碑 1 以來所做的更改。
KinesisMessageDrivenChannelAdapter
針對 AWS 客戶端中發生的間歇性網路錯誤改進了容錯能力。
Kinesis Checkpointer
已改進為基於 ConcurrentMetadataStore
,以實現更好的併發互動,尤其是在叢集環境中 - 消費者組。
已為 SqsMessageHandler
和 SnsMessageHandler
實施了標頭對映機制 - SqsHeaderMapper
和 SnsHeaderMapper
分別作為現成的實現。
由於 AWS Kinesis 不提供任何標頭表示法,因此我們透過將標頭嵌入到 Kinesis Record
主體中來實現解決方法。為此,KinesisMessageHandler
和 KinesisMessageDrivenChannelAdapter
應分別配置 OutboundMessageMapper
和 InboundMessageMapper
。作為一個不錯的選擇,可以使用現成的 Spring Integration EmbeddedJsonHeadersMessageMapper
在兩側透過 AWS Kinesis 傳輸任何所需的訊息標頭。
KinesisMessageDrivenChannelAdapter
還提供了在使用 ListenerMode.batch
時轉換記錄的邏輯。
已根據 Spring Cloud Stream 和 Spring Integration AWS 中的最新更改和修復更新了 KinesisMessageChannelBinder
。
還引入了一種新的 rawRecords
偵聽器模式。 預設情況下,Kinesis Binder 配置為 record
模式,其中要發出的訊息包含有效負載作為 byte[]
,以供 Spring Cloud Stream 進行下游轉換。 batch
模式現在生成一個 List<byte[]>
,而這個新的 rawRecords
模式生成一個訊息,其有效負載為 List<Record>
- 所有轉換為業務模型的邏輯都取決於目標 @StreamListener
方法中的終端使用者。
與往常一樣,歡迎透過適當的溝通渠道提供任何反饋、功能創意、批評、錯誤報告和問題!
Spring Integration AWS 專案頁面 | 用於 AWS Kinesis 的 Spring Cloud Stream Binder 專案頁面 | 幫助 | 聊天