gpt4 book ai didi

java - JBoss 6 中的异步处理 ("Comet")

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:41:35 25 4
gpt4 key购买 nike

编辑:重新标记为 tomcat/jboss,因为这可能是关于 JBoss 6 中嵌入的 Tomcat 的问题,而不是 JBoss 本身

我有一个非常简单的 servlet,它适用于 Glassfish v3。它使用 Servlet 3.0 异步处理。这是一个简化版本(没有做太多):

@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);
}
}

在 JBoss 6.0.0 Milestone 2 上,出现以下异常:

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)
...

我是否必须执行任何特殊操作才能在 JBoss 6 中启用异步处理?或者我是否需要额外的部署描述符? ...

最佳答案

如果您使用 .. 部署了 web.xml,只需将其删除。结构应该是

测试.war

  • WEB-INF/
  • WEB-INF/classes/*.class

  • WEB-INF/lib/*.jar


您的 web.xml 覆盖了 asyncSupported=true 注释,因此出现了错误

关于java - JBoss 6 中的异步处理 ("Comet"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2647745/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com