VMware offers training and certification to turbo-charge your progress.Learn more
Dear Spring Community!
It’s my pleasure to announce two Spring Milestone releases for Amazon Web Services: Spring Integration for AWS
2.0.0.M1 and Spring Cloud Stream Binder for AWS Kinesis
Both milestones are available in the Spring Milestone repository and they can be consumed as maven dependencies:
<dependency> <groupId>org.springframework.integration</groupId> <artifactId>spring-integration-aws</artifactId> <version>2.0.0.M1</version> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-stream-binder-kinesis</artifactId> <version>1.0.0.M1</version> </dependency>
2.0 version is the next generation of Spring Integration for AWS Framework. It is based on Java
8, Spring Framework & Spring Integration
5.0 and Spring Cloud for AWS
2.0. In this new instalment we have improved all
MessageHandler implementations to extend common
AbstractAwsMessageHandler with the
ErrorMessageStrategy support. A set of
AwsHeaders.RECEIVED_ headers have been added to avoid confusion on the outbound side when request messages arrive from the upstream AWS Inbound Channel Adapter. This comes handy when using it with a Spring Cloud Stream “processor-application” that requires same inbound and outbound bindings. The
KinesisMessageDrivenChannelAdapter now supports error handling via
errorChannel and a new
KinesisMessageHeaderErrorMessageStrategy provides useful
AwsHeaders.RAW_RECORD information in the
The Spring Cloud Stream Binder for AWS Kinesis provides the binding implementation for the Spring Cloud Stream. This implementation uses Spring Integration AWS Kinesis Channel Adapters at its foundation. The following captures how the Kinesis Binder implementation maps each of the configured destination to a AWS Kinesis Streams:
Unlike Apache Kafka the AWS Kinesis doesn’t provide out-of-the-box support for consumer groups. The support of this feature is implemented as a part of
MetadataStore. A key for shard checkpoints in the
[CONSUMER_GROUP]:[STREAM]:[SHARD_ID]. By default Kinesis Binder uses
DynamoDbMetaDataStore implementation, which is also inherited from the Spring Integration for AWS project as mentioned above.
Similar to RabbitMQ and Apache Kafka, it is possible to override binding configurations, both at the producer and consumer. They are exposed in the
Many thanks to all the community members who helped shape this project with their valuable inputs and contributions!
Any feedback, feature ideas, critics, bug reports and questions are welcome via appropriate communication channels.
Spring Integration AWS Project Page | Spring Cloud Stream Binder for AWS Kinesis Project Page | Help | Chat