抢先一步
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 项目页面 | 帮助 | 聊天