| <html><body><pre> | |
| <%-- | |
| Licensed to the Apache Software Foundation (ASF) under one or more | |
| contributor license agreements. See the NOTICE file distributed with | |
| this work for additional information regarding copyright ownership. | |
| The ASF licenses this file to You under the Apache License, Version 2.0 | |
| (the "License"); you may not use this file except in compliance with | |
| the License. You may obtain a copy of the License at | |
| http://www.apache.org/licenses/LICENSE-2.0 | |
| Unless required by applicable law or agreed to in writing, software | |
| distributed under the License is distributed on an "AS IS" BASIS, | |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| See the License for the specific language governing permissions and | |
| limitations under the License. | |
| --%> | |
| <%@page session="false"%> | |
| <pre> | |
| Use cases: | |
| 1. Simple dispatch | |
| - servlet does startAsync() | |
| - background thread calls ctx.dispatch() | |
| <a href="<%=response.encodeURL("/examples/async/async0")%>"> Async 0 </a> | |
| 2. Simple dispatch | |
| - servlet does startAsync() | |
| - background thread calls dispatch(/path/to/jsp) | |
| <a href="<%=response.encodeURL("/examples/async/async1")%>"> Async 1 </a> | |
| 3. Simple dispatch | |
| - servlet does startAsync() | |
| - background thread calls writes and calls complete() | |
| <a href="<%=response.encodeURL("/examples/async/async2")%>"> Async 2 </a> | |
| 4. Simple dispatch | |
| - servlet does a startAsync() | |
| - servlet calls dispatch(/path/to/jsp) | |
| - servlet calls complete() | |
| <a href="<%=response.encodeURL("/examples/async/async3")%>"> Async 3 </a> | |
| 3. Timeout s1 | |
| - servlet does a startAsync() | |
| - servlet does a setAsyncTimeout | |
| - returns - waits for timeout to happen should return error page | |
| 4. Timeout s2 | |
| - servlet does a startAsync() | |
| - servlet does a setAsyncTimeout | |
| - servlet does a addAsyncListener | |
| - returns - waits for timeout to happen and listener invoked | |
| 5. Dispatch to asyncSupported=false servlet | |
| - servlet1 does a startAsync() | |
| - servlet1 dispatches to dispatch(/servlet2) | |
| - the container calls complete() after servlet2 is complete | |
| - TODO | |
| 6. Chained dispatch | |
| - servlet1 does a startAsync | |
| - servlet1 does a dispatch to servlet2 (asyncsupported=true) | |
| - servlet2 does a dispatch to servlet3 (asyncsupported=true) | |
| - servlet3 does a dispatch to servlet4 (asyncsupported=false) | |
| 7. Stock ticker | |
| <a href="<%=response.encodeURL("/examples/async/stockticker")%>"> StockTicker </a> | |
| </pre> | |
| </pre></body></html> |