领先一步
VMware 提供培训和认证,以加速您的进步。
了解更多亲爱的 Spring 社区!
我很高兴地宣布 Spring 项目的里程碑版本,这些项目支持 Amazon Web Services: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>
当使用第二个版本时,不需要包含第一个版本。AWS Kinesis Binder 也传递包含了 AWS Kinesis 和 AWS DynamoDB Java SDK 依赖项。
这些里程碑版本是团队和一些第三方贡献者在社区通过 StackOverflow 问题、Gitter 聊天、错误报告和功能请求提供宝贵反馈后的努力成果。因此,感谢所有参与其中的人!
以下是自之前宣布的 里程碑 1 以来所做的更改。
KinesisMessageDrivenChannelAdapter
针对 AWS 客户端中发生间歇性网络错误时的容错能力进行了改进。
Kinesis Checkpointer
已经改进为基于 ConcurrentMetadataStore
,以便更好地进行并发交互,尤其是在集群环境(消费者组)中。
为 SqsMessageHandler
和 SnsMessageHandler
实现了一种标头映射机制——分别为 SqsHeaderMapper
和 SnsHeaderMapper
作为开箱即用的实现。
由于 AWS Kinesis 没有提供任何标头注释,因此我们通过将标头嵌入到 Kinesis Record
体中实现了变通方法。为此,应分别使用 OutboundMessageMapper
和 InboundMessageMapper
配置 KinesisMessageHandler
和 KinesisMessageDrivenChannelAdapter
。作为一个不错的选择,可以在双方都使用开箱即用的 Spring Integration EmbeddedJsonHeadersMessageMapper
来通过 AWS Kinesis 传递任何所需的 message 标头。
当使用 ListenerMode.batch
时,KinesisMessageDrivenChannelAdapter
也已提供转换记录的逻辑。
KinesisMessageChannelBinder
已根据 Spring Cloud Stream 和 Spring Integration AWS 中的最新更改和修复进行了更新。
此外,还引入了新的 rawRecords
侦听器模式。默认情况下,Kinesis Binder 配置为 record
模式,其中要发出的消息包含作为 byte[]
的有效负载,以便由 Spring Cloud Stream 进行下游转换。batch
模式现在生成一个 List<byte[]>
,而这个新的 rawRecords
模式生成一个消息,其有效负载为 List<Record>
——并且所有转换为业务模型的逻辑都由目标 @StreamListener
方法中的最终用户负责。
像往常一样,欢迎通过适当的通信渠道提供任何反馈、功能构想、批评、错误报告和问题!
Spring Integration AWS 项目页面 | Spring Cloud Stream Binder for AWS Kinesis 项目页面 | 帮助 | 聊天