diff --git a/src/java/web/servlet/async_request_war/AjaxCometServlet.java b/src/java/web/servlet/async_request_war/AjaxCometServlet.java --- a/src/java/web/servlet/async_request_war/AjaxCometServlet.java +++ b/src/java/web/servlet/async_request_war/AjaxCometServlet.java @@ -109,16 +109,14 @@ res.setContentType("text/html"); res.setHeader("Cache-Control", "private"); res.setHeader("Pragma", "no-cache"); - + PrintWriter writer = res.getWriter(); // for IE writer.println("\n"); writer.flush(); - - req.setAsyncTimeout(10 * 60 * 1000); final AsyncContext ac = req.startAsync(); - queue.add(ac); - req.addAsyncListener(new AsyncListener() { + ac.setTimeout(10 * 60 * 1000); + ac.addListener(new AsyncListener() { public void onComplete(AsyncEvent event) throws IOException { queue.remove(ac); } @@ -129,7 +127,12 @@ public void onError(AsyncEvent arg0) throws IOException { } + + public void onStartAsync(AsyncEvent event) throws IOException { + } + }); + queue.add(ac); } @Override