Azure / azure-sdk-for-java

This repository is for active development of the Azure SDK for Java. For consumers of the SDK we recommend visiting our public developer docs at https://docs.microsoft.com/java/azure/ or our versioned developer docs at https://azure.github.io/azure-sdk-for-java.
MIT License
2.36k stars 2k forks source link

Introduce abstractions over Reactor API #24530

Closed JonathanGiles closed 8 months ago

JonathanGiles commented 3 years ago

We might consider abstracting away Mono / Flux types with our own types. The premise of this being that if we control an abstraction, we might be able to shelter users from breaking changes in the Reactor APIs. We could conceivably even change implementations of our async implementation without impacting the user.

The downside of this is obviously the amount of work required to build our own APIs, and to ensure that these APIs can work over multiple implementations (e.g. Reactor3, Reactor4, RxJava (as a proof of concept more than anything), CompletableFuture, Virtual Threads, etc).

If we did consider investigating this further, we could extend this investigation by looking into removing reactor from azure-core, and to introduce a pluggable mechanism in much the same way as we do HTTP clients, etc today.

stliu commented 3 years ago

FYI https://smallrye.io/smallrye-mutiny/

github-actions[bot] commented 8 months ago

Hi @JonathanGiles, we deeply appreciate your input into this project. Regrettably, this issue has remained inactive for over 2 years, leading us to the decision to close it. We've implemented this policy to maintain the relevance of our issue queue and facilitate easier navigation for new contributors. If you still believe this topic requires attention, please feel free to create a new issue, referencing this one. Thank you for your understanding and ongoing support.