| <%-- |
| 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> |