modifier: Retagged comme tomcat
/jboss
, car cela pourrait être une question sur le Tomcat embarqué dans JBoss 6, plutôt que JBoss setraitement asynchrone dans JBoss 6 ("Comet")
J'ai un extrêmement simple servlet, qui fonctionne sur Glassfish v3. Il utilise le traitement asynchrone de Servlet 3.0. Voici une version simplifiée (qui ne fait pas grand chose):
@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);
}
}
sur JBoss 6.0.0 Milestone 2, je reçois l'exception suivante:
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:3090)
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)
...
Dois-je faire quoi que ce soit spécial activer le traitement asynchrone dans JBoss 6? Ou ai-je besoin d'un descripteur de déploiement supplémentaire? ...
@skaffman: Merci pour l'indice avec Tomcat! Cependant, JBoss 6.0.0 Milestone 2 inclut une toute nouvelle approche du traitement asynchrone (basé sur Servlet 3.0), et AFAIK, ce n'est pas encore disponible dans les versions de Tomcat - je ne suis pas sûr à 100%. –