Я создал сервлет 3.0 для исследования асинхронной обработки запросов:
@WebServlet(name="MyTest", urlPatterns={"/MyTest"}, asyncSupported=true)
public class MyTest extends HttpServlet {
@Override
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
AsyncContext tmp = req.startAsync(req, res);
...
}
}
но я получаю IllegalStateException
, когда вызывается .startAsync(...)
. Я знаю, что Javadoc упоминает об этом исключении, но я явно включил асинхронный режим (см. Примечание WebServlet
). Я использую Tomcat 7.0.11.0, поставляемый с NetBeans.
Я могу подтвердить, что req.isAsyncSupported()
возвращает false. Что я делаю неправильно? Что еще мне нужно сделать, чтобы включить асинхронную обработку?
EDIT:
Я попытался реализовать следующий пример и получил ту же проблему.