MoritzArena opened a new pull request, #15537:
URL: https://github.com/apache/dubbo/pull/15537

   ## What is the purpose of the change?
   
   Ref: #15528 15528
   
   As of Dubbo 3.4, 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.4. 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.4 branch. It is located in the 
dubbo-plugin/dubbo-mutiny module. This module requires at least JDK 9, 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`, and `Multi -> Multi` 
in 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 -> Multi` run example:
   
   
![image](https://github.com/user-attachments/assets/bf41c845-70c9-4c96-b2b9-c3b2e7ba9f71)
   
   Dubbo samples will be added soon later.
   
   ## Checklist
   - [x] Make sure there is a 
[GitHub_issue](https://github.com/apache/dubbo/issues) field for the change.
   - [x] Write a pull request description that is detailed enough to understand 
what the pull request does, how, and why.
   - [x] Write necessary unit-test to verify your logic correction. If the new 
feature or significant change is committed, please remember to add sample in 
[dubbo samples](https://github.com/apache/dubbo-samples) project.
   - [x] Make sure gitHub actions can pass. [Why the workflow is failing and 
how to fix it?](../CONTRIBUTING.md)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to