Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
5.18.1
-
None
Description
As part of the upgrade to Jakarta we also need to update to a new version of Jetty. Jetty deprecated the jetty-continuation module in 9.4.x and that module has been removed in future versions so we can't use it anymore. The Async servlet API is the replacement and has been around for a long time. In fact the Jetty continuation implementation by default just wraps the Async servlet API if it exists for handling the Async requests.
We should go ahead and remove the jetty-cotinuation module and we can back port this to 5.18.x as well as it's an internal implementation detail for the MessageServlet and AjaxServlet so it should be fine to do. We will still use the Async servlet api just like Jetty continuation did so nothing will change from the REST api/servlet API the users use.
The plan is just to do the same thing that Jetty was doing and that is to use the native Async API and to track the request across the request context using a new wrapper/holder object like they did to make tracking state and handling things simple.