if (log.isDebugEnabled()) {
log.debug("AsyncContext created["+request.getRequestURI()+"?"+request.getQueryString()+"]", new DebugException());
}
- //TODO SERVLET3 - async
this.request = request;
}
//do nothing
} else if (state.compareAndSet(AsyncState.DISPATCHED, AsyncState.COMPLETING) ||
state.compareAndSet(AsyncState.STARTED, AsyncState.COMPLETING)) {
- // TODO SERVLET3 - async
AtomicBoolean dispatched = new AtomicBoolean(false);
request.getCoyoteRequest().action(ActionCode.ACTION_ASYNC_COMPLETE,dispatched);
if (!dispatched.get()) doInternalComplete(false);
log.debug("AsyncContext Dispatch Called["+state.get()+"; "+path+"; "+request.getRequestURI()+"?"+request.getQueryString()+"]", new DebugException());
}
- // TODO SERVLET3 - async
if (state.compareAndSet(AsyncState.STARTED, AsyncState.DISPATCHING) ||
state.compareAndSet(AsyncState.DISPATCHED, AsyncState.DISPATCHING)) {
doInternalComplete(true);
if (x.getCause() instanceof ServletException) throw (ServletException)x.getCause();
if (x.getCause() instanceof IOException) throw (IOException)x.getCause();
- else throw new ServletException(x);
+ throw new ServletException(x);
} finally {
dispatch = null;
}
event = new AsyncEvent(this, request, response);
}
- private static class DebugException extends Exception {}
+ private static class DebugException extends Exception {
+ private static final long serialVersionUID = 1L;
+ }
private static class RunnableWrapper implements Runnable {