Add Spring Integration support for AWS DynamoDB #1458
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is essentially a migration of respective classes and tests from the Spring Integration AWS project
DynamoDbMetadataStoreis a Spring IntegrationConcurrentMetadataStoreimplementation for AWS DynamoDBDynamoDbLockRegistryis a distributed lock implementation AWS DynamoDB based on respective abstraction from Spring IntegrationDynamoDbLockRepositorya supporting class forDynamoDbLockRegistryto perform low-level operations on lock items in the DynamoDB tableLocalstackContainerTestinterface provides a static context to initialize a Localstack Docker container only once for the whole test suiteDynamoDbTemplateIntegrationTestto reuseLocalstackContainerTestAPIspring-cloud-aws-starter-integration-dynamodbmodule to expose DynamoDB and Spring Integration dependenciesThe auto-configuration for these new components is a different story and is not clear yet.
📢 Type of change
📜 Description
See automatic commit message applied to this PR description above
💡 Motivation and Context
This solve the problem of Spring Integration AWS support from now on.
Plus such a merge of Spring Integration AWS into Spring Cloud AWS would give a one-stop-shop for community to see and chose desired AWS service integration.
Having Spring Integration feature in this project would also minimize a release process burden.
💚 How did you test it?
Added respective tests to the project based on Localstack.
Ran from IDE and via Maven.
📝 Checklist
🔮 Next steps
This is an initial proposal for Spring Integration AWS merge over here.
If we agree on the approach suggested here to distribute Spring Integration AWS feature into respective existing modules in Spring Cloud AWS, then other similar PRs are coming afterward.