The 4th Generation of Reactor is arriving. On behalf of the team we want to thank all our community for the tremendous feedback. Over the last year we have grown our reactive line-up significantly including R2DBC and BlockHound. Our adoption in the java ecosystem looks phenomenal and we are collaborating with major corps including Microsoft and Google. We have more than doubled our regular Gitter audience with some awesome -you guessed it- reactive discussions happening every day. Finally, Sergei Egorov has joined the core team and we have no plans to stop expanding!
Dysprosium-M1 is available on our milestone repository. It is paving the way for more changes in the work. It’s worth noting that 2 features are being deprecated, and evaluated for removal at the end of the milestone phase :
WaitStrategy: The processors have been moved to reactor-extra for optional use. They require the availability of
Unsafe, making them rather niche given modern JVM restrictions. Not only they can be found elsewhere but they can also be replaced by equivalent constructs like
Kotlinextensions are being given a dedicated space for further experimentation. With the latest developments around
inlining, we are excited to evaluate how we can leverage Kotlin to provide a smoother developer experience. One of the goals we have set to this experiment is to provide a dedicated API that will enable writing custom producers and operators with the conciseness of Kotlin.
Even with these changes we do not anticipate major pains for our community, but we’d like to have your opinion.
We are working hard at improving the overall experience for our users and upgrading our runtime efficiency across the board:
reactor-netty 0.9.0.M1/0.8.8 has seen a 40% throughput improvement for request/reply (HTTP) scenarios and at least 20% increase for streaming scenarios. More importantly, memory management has been tightened to control some reported memory issues and the number of required
flush operations has been dramatically reduced (3x less) which is a welcome news for CPU use.
reactor-core 3.3.0 , we are looking at progressively moving debugging interceptors outside of the critical path using an agent based approach.
Anticipating the coming
Dysprosium-RELEASE, our reactor-core 3.1.x and reactor-netty 0.7.x lines will not receive further patches. We encourage our users to update to
Californium releases trains, which match Spring Boot 2.1.x and Spring Framework 5.1.x.
If you already are using Spring Boot 2.2.x and Spring Framework 5.2.x, you will be required to use
Dysprosium including reactor-core 3.3.x and reactor-netty 0.9.x.
Dysprosium ? Well its a chemical element starting with the 4th letter of the latin alphabet. It also means “hard to get” because it took quite a few attempts to isolate it. So, mark my words, everything should be ok with
Again, we appreciate your valuable input, please join us on Gitter and share your question, story or both! Meanwhile, we are sailing towards a second milestone early June.