5
tôi nhận được ngoại lệ sau khi gọi một servlet:Gọi đến một servlet không đồng bộ trên WebSphere 8 kết quả trong AsyncIllegalStateException
com.ibm.ws.webcontainer.async.AsyncIllegalStateException: SRVE8010E: The current request does not support asynchronous servlet processing.
Servlet trông như thế này:
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();
}
}
}
Tôi đã thử để đặt nó là không đồng bộ bằng chú thích:
@WebServlet(urlPatterns = "/asyncServlet", asyncSupported = true)
Và cũng trong web.xml sau khi đọc bài đăng i n một diễn đàn:
<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>
Vẫn nhận được AsyncIllegalStateException. Làm thế nào bạn có được các servlet không đồng bộ chạy trên WAS8?
Các lỗi mà bạn nhận được là beacuse phải có một số servlet đồng bộ hoặc lọc ở giữa gọi của bạn servlet http://pic.dhe.ibm.com/infocenter/wasinfo/v8r5/index.jsp?topic=/com.ibm.websphere.messages.doc/com.ibm.ws.webcontainer.resources.Messages.html kiểm tra cho mã lỗi của bạn SRVE8010E – Meherzad
Đi qua hướng dẫn này về servlet không đồng bộ http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/async-servlet/async-servlets.html – Meherzad