Asynchronous Processing in JBoss 6 ("Comet")
edit: Retagged as tomcat
/jboss
, since this could be a question about the Tomcat embedded inside JBoss 6, rather than JBoss itself
I have an extremely simple servlet, which works on Glassfish v3. It uses Servlet 3.0 Asynchronous Processing. Here's a simplified version (which doesn't do much):
@WebServlet(asyncSupported=true)
public class SimpleServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
final AsyncContext ac = request.startAsync();
ac.setTimeout(3000);
}
}
On JBoss 6.0.0 Milestone 2, I get the following Exception:
java.lang.IllegalStateException: The servlet or filters that are being used
by this request do not support async operation
at org.apache.catalina.connector.Request.startAsync(Request.java:3096)
at org.apache.catalina.connector.Request.startAsync(Request.java:309开发者_JS百科0)
at org.apache.catalina.connector.RequestFacade.startAsync(RequestFacade.java:990)
at playcomet.SimpleServlet.doGet(SimpleServlet.java:18)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:734)
...
Do I have to do anything special to enable Asynchronous Processing in JBoss 6? Or do I need an additional deployment descriptor? ...
If you have web.xml deployed it with.. Just take that out. structure should be
test.war
- WEB-INF/
WEB-INF/classes/*.class
WEB-INF/lib/*.jar
Your web.xml is overriding asyncSupported=true annotation and hence the error
精彩评论