From: fhanik Date: Fri, 17 Jul 2009 22:47:13 +0000 (+0000) Subject: implement AsyncContext.dispatch and AsyncContext.start methods X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=d009302348aa346e53f635175bcbab5cb70cee79;p=tomcat7.0 implement AsyncContext.dispatch and AsyncContext.start methods git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@795261 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/java/org/apache/catalina/connector/AsyncContextImpl.java b/java/org/apache/catalina/connector/AsyncContextImpl.java index 87533350d..76b470c90 100644 --- a/java/org/apache/catalina/connector/AsyncContextImpl.java +++ b/java/org/apache/catalina/connector/AsyncContextImpl.java @@ -71,14 +71,20 @@ public class AsyncContextImpl implements AsyncContext { @Override public void dispatch(String path) { + dispatch(request.getServletContext(),path); + } + + @Override + public void dispatch(ServletContext context, String path) { // TODO SERVLET3 - async + // TODO SERVLET3 - async if (request.getAttribute(ASYNC_REQUEST_URI)==null) { request.setAttribute(ASYNC_REQUEST_URI, request.getRequestURI()); request.setAttribute(ASYNC_CONTEXT_PATH, request.getContextPath()); request.setAttribute(ASYNC_SERVLET_PATH, request.getServletPath()); request.setAttribute(ASYNC_QUERY_STRING, request.getQueryString()); } - final RequestDispatcher requestDispatcher = request.getServletContext().getRequestDispatcher(path); + final RequestDispatcher requestDispatcher = context.getRequestDispatcher(path); final HttpServletRequest servletRequest = (HttpServletRequest)getRequest(); final HttpServletResponse servletResponse = (HttpServletResponse)getResponse(); Runnable run = new Runnable() { @@ -99,12 +105,6 @@ public class AsyncContextImpl implements AsyncContext { } @Override - public void dispatch(ServletContext context, String path) { - // TODO SERVLET3 - async - - } - - @Override public ServletRequest getRequest() { return getServletRequest(); } @@ -117,7 +117,8 @@ public class AsyncContextImpl implements AsyncContext { @Override public void start(Runnable run) { // TODO SERVLET3 - async - + this.dispatch = run; + request.coyoteRequest.action(ActionCode.ACTION_ASYNC_DISPATCH, null ); } public void addAsyncListener(AsyncListener listener) {