ICEfaces
  1. ICEfaces
  2. ICE-4524

Servlet 3.0 AsyncContext support

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.0-Alpha1
    • Fix Version/s: 2.0-Alpha2, 2.0.0
    • Component/s: Framework
    • Labels:
      None
    • Environment:
      ICEfaces

      Description


      ICEfaces should take advantage of Servlet 3.0 asynchronous features.

        Activity

        Hide
        Ted Goddard added a comment -

        It's important to test the Servlet 3.0 push features of ICEfaces 2.0 even though the ultimate approach will be to have a standalone notification service: the usage pattern will be similar and it is important that shipping Servlet 3.0 containers are stable under ICEfaces.

        GlassFish and Jetty provide Servlet 3.0 implementations, and a Tomcat branch does contain the Servlet 3.0 APIs.

        (Initial testing will require building and troubleshooting of application servers from source code or nightly binaries, so this is not likely effective as a QA task.)

        Show
        Ted Goddard added a comment - It's important to test the Servlet 3.0 push features of ICEfaces 2.0 even though the ultimate approach will be to have a standalone notification service: the usage pattern will be similar and it is important that shipping Servlet 3.0 containers are stable under ICEfaces. GlassFish and Jetty provide Servlet 3.0 implementations, and a Tomcat branch does contain the Servlet 3.0 APIs. (Initial testing will require building and troubleshooting of application servers from source code or nightly binaries, so this is not likely effective as a QA task.)
        Hide
        Ted Goddard added a comment -

        Please propagate AsyncAdaptingServlet.java to snowplow.

        To enable async support in Servlet 3.0, use the following web.xml modifications:

        -<web-app version="2.5"
        +<web-app version="3.0"
        xmlns="http://java.sun.com/xml/ns/javaee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

        <display-name>Auction</display-name>
        <description>
        @@ -45,6 +45,7 @@
        <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        + <async-supported>true</async-supported>
        </servlet>

        Show
        Ted Goddard added a comment - Please propagate AsyncAdaptingServlet.java to snowplow. To enable async support in Servlet 3.0, use the following web.xml modifications: -<web-app version="2.5" +<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd "> + xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd "> <display-name>Auction</display-name> <description> @@ -45,6 +45,7 @@ <servlet> <servlet-name>Faces Servlet</servlet-name> <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> + <async-supported>true</async-supported> </servlet>
        Hide
        Mircea Toma added a comment -

        Introduced Servlet 3.0 adapting servlet. Simplified EnvironmentAdaptingServlet by removing Glassfish specific detection and the use of factories for creating the matching adapting servlet.

        Show
        Mircea Toma added a comment - Introduced Servlet 3.0 adapting servlet. Simplified EnvironmentAdaptingServlet by removing Glassfish specific detection and the use of factories for creating the matching adapting servlet.
        Hide
        Mircea Toma added a comment -

        Need to remove the Jetty Continuations specific code.

        Show
        Mircea Toma added a comment - Need to remove the Jetty Continuations specific code.
        Hide
        Mircea Toma added a comment -

        Removed Jetty specific code. Only thread blocking and Servlet 3.0 ARP adaptations are used now.

        Show
        Mircea Toma added a comment - Removed Jetty specific code. Only thread blocking and Servlet 3.0 ARP adaptations are used now.
        Hide
        Ted Goddard added a comment -

        Would be useful if we could add the following annotation to FacesServlet:

        @WebServlet(asyncSupported=true)

        Show
        Ted Goddard added a comment - Would be useful if we could add the following annotation to FacesServlet: @WebServlet(asyncSupported=true)

          People

          • Assignee:
            Mircea Toma
            Reporter:
            Ted Goddard
          • Votes:
            1 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: