调用 servlet 时出现以下异常:
com.ibm.ws.webcontainer.async.AsyncIllegalStateException: SRVE8010E: The current request does not support asynchronous servlet processing.
servlet 如下所示:
public class AsyncServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
try {
AsyncContext async = req.startAsync();
async.start(new Runnable(){
@Override
public void run() {
System.out.println("Bazinga");
}
});
} catch (Exception e) {
e.printStackTrace();
}
}
}
我尝试使用注释将其设置为异步:
@WebServlet(urlPatterns = "/asyncServlet", asyncSupported = true)
在阅读论坛中的帖子后也在 web.xml 中:
<servlet>
<display-name>AsyncServlet</display-name>
<servlet-name>AsyncServlet</servlet-name>
<servlet-class>com.lala.lala.AsyncServlet</servlet-class>
<init-param>
<param-name>com.ibm.ws.webcontainer.async-supported</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>AsyncServlet</servlet-name>
<url-pattern>/asyncServlet</url-pattern>
</servlet-mapping>
仍然收到 AsyncIllegalStateException。您是如何让异步 servlet 在 WAS8 上运行的?