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:  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]
