2013/6/11 <ma...@apache.org>
>
> Author: markt
> Date: Tue Jun 11 20:18:10 2013
> New Revision: 1491940
>
> URL: http://svn.apache.org/r1491940
> Log:
> Servlet 3.1 requires an ISE if getRequest() or getResponse() are called
after complete() or dispatch()
>
> Modified:
>     tomcat/trunk/java/org/apache/catalina/core/AsyncContextImpl.java
>     tomcat/trunk/java/org/apache/catalina/core/LocalStrings.properties
>     tomcat/trunk/test/org/apache/catalina/core/TestAsyncContextImpl.java
>
> Modified: tomcat/trunk/java/org/apache/catalina/core/AsyncContextImpl.java
> URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/AsyncContextImpl.java?rev=1491940&r1=1491939&r2=1491940&view=diff
>
==============================================================================
> --- tomcat/trunk/java/org/apache/catalina/core/AsyncContextImpl.java
(original)
> +++ tomcat/trunk/java/org/apache/catalina/core/AsyncContextImpl.java Tue
Jun 11 20:18:10 2013
> @@ -64,8 +64,8 @@ public class AsyncContextImpl implements
>      protected static final StringManager sm =
>          StringManager.getManager(Constants.Package);
>
> -    private ServletRequest servletRequest = null;
> -    private ServletResponse servletResponse = null;
> +    private volatile ServletRequest servletRequest = null;
> +    private volatile ServletResponse servletResponse = null;
>      private final List<AsyncListenerWrapper> listeners = new
ArrayList<>();
>      private boolean hasOriginalRequestAndResponse = true;
>      private volatile Runnable dispatch = null;
> @@ -90,6 +90,7 @@ public class AsyncContextImpl implements
>          check();
>          request.getCoyoteRequest().action(ActionCode.COMMIT, null);
>          request.getCoyoteRequest().action(ActionCode.ASYNC_COMPLETE,
null);
> +        clearServletRequestResposne();
>      }


Is that mean that if I have AsyncListener that does some work in
onComplete() then I will not be able to use the request and response
objects?


Thanks Violeta

Reply via email to