-
Notifications
You must be signed in to change notification settings - Fork 26.6k
Support for Mutiny Reactive #15537
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
Support for Mutiny Reactive #15537
Conversation
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## 3.3 #15537 +/- ##
============================================
+ Coverage 60.05% 61.06% +1.00%
- Complexity 10167 11500 +1333
============================================
Files 1909 1922 +13
Lines 86782 87045 +263
Branches 13094 13106 +12
============================================
+ Hits 52119 53153 +1034
+ Misses 29200 28456 -744
+ Partials 5463 5436 -27
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
# Conflicts: # dubbo-dependencies-bom/pom.xml
|
got it! |
|
The main function of dubbo-samples is demonstrating usage example, so push the new plugin case with |
|
What caused these github action errors? Are they related with |
download log archive of the failed test job, you'll find the root cause, e.g. |
maybe I need some help, I have already update |
|
modify all pom.xml files that contains |
really thx a lot |
|
you'd better to search maven articles to know how to use profiles to specify which dependencies should be included and which ones should be excluded based on the currently active profile. |
What confuses me is that I did lock the new dubbo-mutiny module to the jdk-version-ge-17 profile, and it compiles successfully with maven under jdk 1.8, jdk 11, jdk 17, jdk 21, and jdk 24 (with the correct profile). I don't know why I can't find the corresponding jdk version in the Github Action. |
no, you didn't lock it. you also add it to the dependencies for building dubbo with |
Sorry about that, I forgot to remove this module from top. |
|
do what it did includes don't do what it didn't |
|
the version of |
got it |
|
@oxsean PTAL |
oxsean
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It would be good to have a example to showcase these capabilities.
these will done in this week |
What is the purpose of the change?
Ref: #15528 15528
As of Dubbo 3.3, Reactor remains the primary Reactive Streams implementation officially supported. This integration is highly convenient for applications built with Spring WebFlux or any other frameworks based on Reactor, as it can be used out of the box.
However, beyond Reactor, the Mutiny reactive framework has been steadily gaining traction. From our perspective, we see strong potential for Mutiny as an emerging direction in reactive programming. Similarly, as more modern enterprise applications adopt Quarkus for web development, the demand for Mutiny-compatible support in Dubbo is likely to grow.
In response to this, our team has already integrated Mutiny support into Dubbo based on version 3.3. We are currently in the process of completing full business-level testing and protoc compilation validation, which we expect to finalize within the coming week. We would like to contribute this feature to the Dubbo community and sincerely hope it can be officially considered for inclusion in an upcoming release.
Missions
The work on Dubbo's support for Mutiny Reactive has been completed, and the code has been created on the 3.3 branch. It is located in the dubbo-plugin/dubbo-mutiny module. This module requires at least JDK 17, as starting from Mutiny 3, it switched to the JDK 9 Flow reactive specification, and the module uses Mutiny 3.
Regarding the proto compiler plugin, we have completed the build of version 3.4.0.beta1 and introduced it into the project. We have also validated the transport of
Uni -> Uni,Uni -> Multi,Multi -> Uni, andMulti -> Multiin a wide range of business scenarios on Quarkus platform and Mutiny based web applications. After ensuring that all reactive methods run correctly, I am submitting this PR.The
Multi -> Multirun example:Dubbo samples will be added soon later.
Checklist