Skip to content

Add Spring Integration channel adapter for SQS - #1467

Merged
maciejwalkowiak merged 2 commits into
awspring:mainfrom
artembilan:spring-integration-sqs
Sep 14, 2025
Merged

Add Spring Integration channel adapter for SQS#1467
maciejwalkowiak merged 2 commits into
awspring:mainfrom
artembilan:spring-integration-sqs

Conversation

@artembilan

@artembilan artembilan commented Sep 12, 2025

Copy link
Copy Markdown
Contributor
  • The SqsMessageHandler is for producing Spring Integration to SQS. Uses SqsAsyncOperations internally.
  • The SqsMessageDrivenChannelAdapter is for consuming messages from SQS. Uses SqsMessageListenerContainer internally.
  • Added SqsHeaders.MESSAGE_ID constant to represent SQS send result's messageId attribute
  • Mark The BaseSqsIntegrationTest as disabledWithoutDocker = true to avoid unnecessary build failure
  • Add spring-cloud-aws-starter-integration-sqs to manage all the required dependencies for Spring Integration with SQS

📢 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

* The `SqsMessageHandler` is for producing Spring Integration to SQS.
Uses `SqsAsyncOperations` internally.
* The `SqsMessageDrivenChannelAdapter` is for consuming messages from SQS.
Uses `SqsMessageListenerContainer` internally.
* Added `SqsHeaders.MESSAGE_ID` constant to represent SQS send result's `messageId` attribute
* Mark The `BaseSqsIntegrationTest` as `disabledWithoutDocker = true` to avoid unnecessary build failure
* Add `spring-cloud-aws-starter-integration-sqs` to manage all the required dependencies for Spring Integration with SQS
@github-actions github-actions Bot added component: sqs SQS integration related issue type: documentation Documentation or Samples related issue type: dependency-upgrade Dependency version bump labels Sep 12, 2025

@tomazfernandes tomazfernandes left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thanks for the PR, @artembilan!

Great to see you around, and nice to see Spring Integration coming over to the project.

Just spotted a couple of small typos in the docs, nothing blocking.

Comment thread docs/src/main/asciidoc/sqs.adoc Outdated
}
----

The Spring Integration dependency in the `spring-cloud-aws-sqs` module is `optinal` to avoid unnecessary artifacts on classpath when Spring Integration is not used.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

typo: "optional"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Fixed

Comment thread docs/src/main/asciidoc/sqs.adoc Outdated
Starting with version 4.0, Spring Cloud AWS provides https://spring.io/projects/spring-integration[Spring Integration] channel adapters for Amazon SQS.

The `SqsMessageHandler` is for publishing a single message (or their batch) to SQS queue configured explicitly on the `SqsMessageHandler` or resolved via SpEL expression against the request message.
The logic of this `MessageHandler` is to consume Spring Integration messages from an `inputChannel` and internally it is heavily base on the `SqsAsyncOperations` mentioned above.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

typo: "heavily based"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Fixed

@artembilan

Copy link
Copy Markdown
Contributor Author

Hey, Tomaz!
Glad to see you here, too!
Thank you for feedback !

I’ll give you guys time for more review until I push all the requested changes on Monday.

@maciejwalkowiak

Copy link
Copy Markdown
Contributor

Just to save @artembilan time I fixed typos. Thanks folks!

@maciejwalkowiak
maciejwalkowiak merged commit 313d106 into awspring:main Sep 14, 2025
5 checks passed
@maciejwalkowiak maciejwalkowiak added this to the 4.0.0 milestone Sep 14, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

component: sqs SQS integration related issue 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