/**
* AsyncContext
*/
- protected AsyncContextImpl asyncContext = null;
+ protected volatile AsyncContextImpl asyncContext = null;
/**
* async timeout
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)
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;
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);
}
}