You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "ASF subversion and git services (Jira)" <ji...@apache.org> on 2023/04/13 11:50:00 UTC

[jira] [Commented] (AMQ-9243) Remove deprecated jetty-continuation module from activemq-web

    [ https://issues.apache.org/jira/browse/AMQ-9243?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17711859#comment-17711859 ] 

ASF subversion and git services commented on AMQ-9243:
------------------------------------------------------

Commit 905f00c843b96996b25017e1b8646de15d703398 in activemq's branch refs/heads/main from Christopher L. Shannon
[ https://gitbox.apache.org/repos/asf?p=activemq.git;h=905f00c84 ]

AMQ-9243 - Remove deprecated jetty-continuation dependency (#998)

This commit removes the dependency on jetty-continuation and updates the
MessageServlet and AjaxListener servlets to use the Servlet Async api
directly for async requests through a new Async holder object that is
used to track/manage the request.

> Remove deprecated jetty-continuation module from activemq-web
> -------------------------------------------------------------
>
>                 Key: AMQ-9243
>                 URL: https://issues.apache.org/jira/browse/AMQ-9243
>             Project: ActiveMQ
>          Issue Type: Improvement
>          Components: Web Console
>    Affects Versions: 5.18.1
>            Reporter: Christopher L. Shannon
>            Assignee: Christopher L. Shannon
>            Priority: Major
>             Fix For: 5.19.0, 5.18.1
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> 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|https://github.com/eclipse/jetty.project/blob/b45c405e4544384de066f814ed42ae3dceacdd49/jetty-continuation/src/main/java/org/eclipse/jetty/continuation/Servlet3Continuation.java] 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.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)