Let's imagine that we are working on the new asynchronous non-blocking web module for the new Spring ecosystem. How should the new reactive web stack look? First of all, let's analyze the existing solutions and highlight the parts that should be enhanced or eliminated.
It should be noted that, in general, the internal API of Spring MVC is well-designed. The only thing that should be added to the API is a direct dependency on the Servlet API. Therefore, the final solution should have similar interfaces as the Servlet API. The first step toward designing the reactive stack is replacing javax.servlet.Servlet#service with an analogical interface and a method that reacts to incoming requests. We also have to change the related ...