【发布时间】:2013-02-14 02:58:47
【问题描述】:
我在调用 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 上运行的?
【问题讨论】:
-
您收到的错误是因为在您调用的 servlet pic.dhe.ibm.com/infocenter/wasinfo/v8r5/index.jsp?topic=/… 之间必须有一些同步 servlet 或过滤器@检查您的错误代码 SRVE8010E
-
阅读本教程的异步 servlet oracle.com/webfolder/technetwork/tutorials/obe/java/…
标签: java asynchronous servlet-3.0 websphere-8