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

Feature request: Support NATS #307

Closed
skarpushin opened this issue Jul 26, 2023 · 5 comments
Closed

Feature request: Support NATS #307

skarpushin opened this issue Jul 26, 2023 · 5 comments
Labels
enhancement New feature or request staged for release

Comments

@skarpushin
Copy link

Describe the feature request
Add support for NATS https://nats.io/

Motivation
NATS adoption increases and in some scenarios it exceeds Kafka. So it would be really nice if SpringWolf would also support NATS.

Technical details
n/a

Describe alternatives you've considered
n/a

@skarpushin skarpushin added the enhancement New feature or request label Jul 26, 2023
@github-actions
Copy link

Welcome to Springwolf. Thanks a lot for reporting your first issue. Please check out our contributors guide and feel free to join us on discord.

@timonback
Copy link
Member

Thank you for this request.

Springwolf supports what AsyncAPI supports. I haven't found a binding for NATS, but have found an example, which skips the binding to specific servers: https://github.com/asyncapi/dotnet-nats-template/blob/master/examples/streetlight.json

Based on the Baeldung article 0, I see that the application is manually configured to receive and publish messages (no NATS specific annotation).

Have you tried to use the @AsyncListener annotation on the receiving method?

@skarpushin
Copy link
Author

@timonback thank you for elaborate answer! I did not try it yet, but I will.

I didn't find NATS plugin in https://github.com/springwolf/springwolf-core/tree/master/springwolf-plugins so I thought NATS is not supported. But I will try @AsyncListener for sure to double-check.

@springwolf springwolf deleted a comment Aug 9, 2023
@timonback
Copy link
Member

I just noticed that NATS is supported by AsyncApi as a binding.

After #288 has been solved, NATS can be specified explicitly.

@timonback
Copy link
Member

Thank you for the report, the issue has been addressed in the new release.

The website will be updated soon on how to use the springwolf-generic-binding plugin, which allows to document all bindings - including NATS.
Preview of the changes: https://github.com/springwolf/springwolf.github.io/pull/62/files#diff-07b414902f2f07f5c083d5a81a4ee3730ad48b61787224581b2160a2f5b13c05

Feel free to reopen this issue if there is still something missing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request staged for release
Projects
None yet
Development

No branches or pull requests

2 participants