minor refactoring, simplify initialization
authorfhanik <fhanik@13f79535-47bb-0310-9956-ffa450edef68>
Fri, 7 Aug 2009 14:58:41 +0000 (14:58 +0000)
committerfhanik <fhanik@13f79535-47bb-0310-9956-ffa450edef68>
Fri, 7 Aug 2009 14:58:41 +0000 (14:58 +0000)
git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@802032 13f79535-47bb-0310-9956-ffa450edef68

java/org/apache/catalina/connector/Request.java
java/org/apache/catalina/core/AsyncContextImpl.java

index 9a5c0c3..078778c 100644 (file)
@@ -390,7 +390,7 @@ public class Request
     /**
      * AsyncContext 
      */
-    protected AsyncContextImpl asyncContext = null;
+    protected volatile AsyncContextImpl asyncContext = null;
     
     /**
      * async timeout
@@ -1475,9 +1475,7 @@ public class Request
         if (asyncContext==null) asyncContext = new AsyncContextImpl(this);
         else if (asyncContext.isStarted()) throw new IllegalStateException("Already started.");
         asyncContext.setStarted(getContext());
-        asyncContext.setServletRequest(request);
-        asyncContext.setServletResponse(response);
-        asyncContext.initEvent();
+        asyncContext.init(request,response);
         //TODO SERVLET3 - async - need to retrieve the ServletContext here
         //or just the webapp classloader associated with to do 
         //run with start(Runnable)
index be4d6f1..29b754a 100644 (file)
@@ -232,18 +232,10 @@ public class AsyncContextImpl implements AsyncContext {
         return servletRequest;
     }
 
-    public void setServletRequest(ServletRequest servletRequest) {
-        this.servletRequest = servletRequest;
-    }
-
     public ServletResponse getServletResponse() {
         return servletResponse;
     }
 
-    public void setServletResponse(ServletResponse servletResponse) {
-        this.servletResponse = servletResponse;
-    }
-
     @Override
     public boolean hasOriginalRequestAndResponse() {
         return hasOriginalRequestAndResponse;
@@ -343,8 +335,10 @@ public class AsyncContextImpl implements AsyncContext {
         state.set(AsyncState.TIMING_OUT);
     }
     
-    public void initEvent() {
-        event = new AsyncEvent(getRequest(),getResponse()); 
+    public void init(ServletRequest request, ServletResponse response) {
+        this.servletRequest = request;
+        this.servletResponse = response;
+        event = new AsyncEvent(request,response); 
     }
 
 }