-
Notifications
You must be signed in to change notification settings - Fork 626
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
Initial Reactive Client Support #882
Comments
I think The Plus the way we define a receiver in the I may miss something though. That's why such a rough nit-pick review. |
Is reactive client support going to be available soon? |
It is not currently being worked on; contributions are welcome. |
I understand that SB team is working on greater things. These are not trivial changes for me to contribute either. |
@artembilan @garyrussell any comments? |
Hi @vavrfam ! Thank you for your interest in the feature. Yes, plans are build something in Spring AMQP based on the |
And contributions are welcome 😄 |
Thank you, appreciate your response. |
This has not been a priority; I felt my PoC didn't really add much value over the reactive client (aside from reusing the message converters). We haven't had the bandwidth to spend much time on this; we need to revisit the reactor-rabbitmq to see if there is any real value spring-amqp can add to it. |
In our project, we rely heavily on the implementation RabbitListenerAnnotationBeanPostProcessor#processAmqpListener that decides which bean methods is responsible for processing the request. Current |
We already have support for I am not sure what returning a |
For example (hypothetical example), my request contains a details of a huge file, I am expecting a response in chunks. If I get a Flux<> as return type , I could subscribe to it, and download the whole file. |
That implies some kind of multiplexing since RabbitMQ deals with discrete messages. We could possibly add something like that to the existing infrastructure, at least on the reply side; probably not on the sending side, though. |
After some more thought, I don't think t would be too difficult to add a wrapper around the rabbit template; something like
Where send a message for each flux element and a "final" message when the Flux completes and use the "final" message to complete the "remote" flux (and similarly with the reply Flux). Bear in mind though, that the underlying amqp-client is not reactive and can block - I don't know if/how |
Hmm... We are not gaining anything if client is not reactive right. |
I haven't looked lately, but I seem to recall the rabbit team were going to look at adding back-pressure somehow. |
Hello! I wanted to ask, what is the status of reactive support in spring-amqp? Will it be released soon or at least took in a roadmap? |
@Nokinori We just haven't had time to work on it; maybe later this year. Contributions are welcome! Yes, you can use both libraries in the same application. |
@garyrussell Thanks for you answer! |
Message
abstractionsPoC based on
SampleSender
andSampleReceiver
cc/ @artembilan @acogoluegnes - very raw at this stage.
The text was updated successfully, but these errors were encountered: