Я создал сервлет 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 упоминает это исключение, но я явно разрешил аннотацию async (c.f. WebServlet
). Я использую Tomcat 7.0.11.0, поставляемый с NetBeans.
Я мог подтвердить, что req.isAsyncSupported()
возвращает false. Что я делаю не так? Что еще мне нужно сделать, чтобы включить асинхронную обработку?
EDIT:
Я попытался реализовать следующий пример и получил ту же проблему.