From ac79b015d08ade4b350f132bc7154275bae319c4 Mon Sep 17 00:00:00 2001 From: fhanik Date: Fri, 17 Jul 2009 21:54:34 +0000 Subject: [PATCH] Add notes git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@795241 13f79535-47bb-0310-9956-ffa450edef68 --- java/org/apache/catalina/connector/AsyncContextImpl.java | 7 +++---- java/org/apache/catalina/core/StandardWrapperValve.java | 4 +++- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/java/org/apache/catalina/connector/AsyncContextImpl.java b/java/org/apache/catalina/connector/AsyncContextImpl.java index 5cd48acc9..4824c5c3c 100644 --- a/java/org/apache/catalina/connector/AsyncContextImpl.java +++ b/java/org/apache/catalina/connector/AsyncContextImpl.java @@ -59,15 +59,12 @@ public class AsyncContextImpl implements AsyncContext { @Override public void complete() { // TODO SERVLET3 - async - doInternalComplete(false); - } @Override public void dispatch() { // TODO SERVLET3 - async - } @Override @@ -85,6 +82,8 @@ public class AsyncContextImpl implements AsyncContext { Runnable run = new Runnable() { public void run() { try { + //piggy back on the request dispatcher to ensure that filters etc get called. + //TODO SERVLET3 - async should this be include/forward or a new dispatch type requestDispatcher.include(servletRequest, servletResponse); }catch (Exception x) { //log.error("Async.dispatch",x); @@ -93,7 +92,7 @@ public class AsyncContextImpl implements AsyncContext { } }; this.dispatch = run; - request.coyoteRequest.action(ActionCode.ACTION_ASYNC_DISPATCH, run ); + request.coyoteRequest.action(ActionCode.ACTION_ASYNC_DISPATCH, null ); } @Override diff --git a/java/org/apache/catalina/core/StandardWrapperValve.java b/java/org/apache/catalina/core/StandardWrapperValve.java index 77281ef07..bd08ae399 100644 --- a/java/org/apache/catalina/core/StandardWrapperValve.java +++ b/java/org/apache/catalina/core/StandardWrapperValve.java @@ -211,7 +211,8 @@ final class StandardWrapperValve try { SystemLogHandler.startCapture(); if (request.isAsyncStarted()) { - ((AsyncContextImpl)request.getAsyncContext()).doInternalDispatch(); + //TODO SERVLET3 - async + ((AsyncContextImpl)request.getAsyncContext()).doInternalDispatch(); } else if (comet) { filterChain.doFilterEvent(request.getEvent()); request.setComet(true); @@ -227,6 +228,7 @@ final class StandardWrapperValve } } else { if (request.isAsyncStarted()) { + //TODO SERVLET3 - async ((AsyncContextImpl)request.getAsyncContext()).doInternalDispatch(); } else if (comet) { request.setComet(true); -- 2.11.0