Skip to content

Introduce Spring Integration for Kinesis support#1479

Merged
MatejNedic merged 7 commits intoawspring:mainfrom
artembilan:spring-integration-kinesis
Oct 19, 2025
Merged

Introduce Spring Integration for Kinesis support#1479
MatejNedic merged 7 commits intoawspring:mainfrom
artembilan:spring-integration-kinesis

Conversation

@artembilan
Copy link
Contributor

@artembilan artembilan commented Sep 19, 2025

  • Create a spring-cloud-aws-kinesis module as a generic place for anything Kinesis-related. Similar to any other modules in the project
  • Add KinesisMessageHandler and respective tests for it
  • Add the spring-cloud-aws-starter-integration-kinesis for a generic Kinesis client with Spring Integration
  • Managed KCL/KPL dependencies as the next evolution of the spring-cloud-aws-kinesis as respective Spring Integration channel adapter will be contributed later
  • Initial kinesis.adoc with a KinesisMessageHandler explanation

📢 Type of change

  • Bugfix
  • New feature
  • Enhancement
  • Refactoring

📜 Description

💡 Motivation and Context

💚 How did you test it?

📝 Checklist

  • I reviewed submitted code
  • I added tests to verify changes
  • I updated reference documentation to reflect the change
  • All tests passing
  • No breaking changes

🔮 Next steps

@github-actions github-actions bot added type: documentation Documentation or Samples related issue type: dependency-upgrade Dependency version bump labels Sep 19, 2025
@artembilan
Copy link
Contributor Author

If this is the right direction, I can continue piling other Spring Integration components related to Kinesis here or in new PRs.

Thanks

@maciejwalkowiak
Copy link
Contributor

Thanks @artembilan !

@MatejNedic
Copy link
Member

Tnx @artembilan ! Would you like to put other stuff in this PR or new one? For me both works maybe in this PR it will be easier to review.

@artembilan
Copy link
Contributor Author

Sure! Let’s do like this then!
I’ll add a classic Kinesis consumer part into this PR for better understanding of the whole publish/subscribe picture .
Then KPL/KCL will be in the separate PR for their own scope emphasizing .
let me know if there are any other ideas!

* Create a `spring-cloud-aws-kinesis` module as a generic place for anything Kinesis-related.
Similar to any other modules in the project
* Add `KinesisMessageHandler` and respective tests for it
* Add the `spring-cloud-aws-starter-integration-kinesis` for a generic Kinesis client with Spring Integration
* Managed KCL/KPL dependencies as the next evolution of the `spring-cloud-aws-kinesis`
as respective Spring Integration channel adapter will be contributed later
* Initial `kinesis.adoc` with a `KinesisMessageHandler` explanation
…structure

* Add mock tests for `KinesisMessageDrivenChannelAdapter`
* Add integration tests based on the Localstack container between
`KinesisMessageHandler` and `KinesisMessageDrivenChannelAdapter`
* Document `KinesisMessageDrivenChannelAdapter`
* Mention via link the `DynamoDbLockRegistry` and `DynamoDbMetadataStore`.
Therefore, add a section id for the Spring Integration in the `dynamodb.adoc`
Copy link
Member

@MatejNedic MatejNedic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great! From what I see we can merge this. Artem if you agree I am merging it!

@artembilan
Copy link
Contributor Author

Thank you! As we discussed before I’ll issue KPL/KCL features in the separate PR.

@MatejNedic MatejNedic merged commit aaedf69 into awspring:main Oct 19, 2025
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type: dependency-upgrade Dependency version bump type: documentation Documentation or Samples related issue

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants