Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add basic support for AWS SQS - send and read #2500

Merged
merged 1 commit into from
Apr 4, 2024

Conversation

cuichenli
Copy link
Contributor

Hi team, this is my first PR to this project, please guide me through any project-specific protocols or conventions that I might overlook, 🙇

I noticed there is already one PR to support the AWS SQS but it has been inactive for a while: #2402 hence I created my own implementation here.

Currently, the implementation is in its initial stages and lacks several features. Nevertheless, it successfully supports the fundamental operations—sending and receiving messages to/from AWS SQS—as demonstrated by the included unit tests.

I would love to get feedback on whether the current state of the code aligns with the project's expectations for maturity. If further development is required prior to merging, I am more than willing to continue refining this PR.

Potentially can partially fix: #1117

@ozangunalp
Copy link
Collaborator

Thanks for your contribution! I've started looking at this and will suggest some changes.

@ozangunalp
Copy link
Collaborator

Here is a proposition for changes to your PoC. It works out of the box with the Quarkus AWS SQS extension It needs some more work like health checks and documentation.
We may also consider adding the otel tracing support.

@cuichenli could you take a look?

@cuichenli
Copy link
Contributor Author

@ozangunalp thank you for taking the time to review and revamp my PR. I was blown away by the changes you made! Seriously, the work you put into it is nothing short of awesome. And I have to confess, it took me a little while to wrap my head around all the changes you made - especially for the PausablePollingStream. I genuinely appreciate the opportunity to learn from your expertise.

@ozangunalp ozangunalp force-pushed the aws-sqs-connector branch 2 times, most recently from 29b8b42 to 24a9f24 Compare April 4, 2024 08:45
@ozangunalp
Copy link
Collaborator

@cuichenli thanks for your kind words. I've added some basic docs and I think it is good to go for a first version.
If you've some scenarios please test them. Or If you can give it a go with Quarkus and Quarkiverse SQS extension it'll be great.

Otherwise, I'll proceed to merge it.

@cescoffier
Copy link
Contributor

That's fantastic! Thanks @cuichenli and @ozangunalp !

Uses SqsAsyncClient to interact with SQS API

Provider module:
- Introduces PausablePollingStream to fetch messages
- VertxJsonMapping implementation as a fallback to JsonMapping discovery
@ozangunalp
Copy link
Collaborator

Squashed commits

@ozangunalp ozangunalp merged commit 0995c4f into smallrye:main Apr 4, 2024
4 checks passed
@ozangunalp ozangunalp added this to the 4.21.0 milestone Apr 5, 2024
@prakashelango
Copy link

prakashelango commented May 3, 2024

Guys, I see a preview banner on smallrye docs link. Is it good to use now? or any estimates on preview tenure
image

Is there a way to configure multiple sqs?

Thank you

@allan-autodesk
Copy link

Hello guys. I would like to know if this AWS SQS Connector is going to be available soon in a final mode or if is it possible to use it right now? Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add support for AWS SQS
6 participants