Servlet 3.0或Glassfish问题?在注释中,Web应用程序忽略asyncSupported for filter

时间:2012-02-21 20:40:03

标签: java java-ee glassfish servlet-filters servlet-3.0

我在我的web-app(已经支持异步操作)中添加了一个过滤器,并且忘记在过滤器上插入适当的注释以保留异步支持。容易解决的问题。我在筛选器类中添加了以下注释,最终看起来像这样:

@WebFilter(asyncSupported=true)
public class MainFilter implements Filter
{

   ...

}

但是,重新部署后,异步操作仍然不受支持,给我这个错误:

  

请求在过滤器或servlet的范围内   支持异步操作

我能够通过删除注释并将其等效项放在web.xml中来解决问题:

<filter>
    <filter-name>MainFilter</filter-name>
    <filter-class>com.MyWebApp.Filters.MainFilter</filter-class>
    <async-supported>true</async-supported>
</filter>

我感到困惑的是容器似乎尊重servlet文件中的asyncSupported注释,但不适用于过滤器。是否有特定原因,或者这是一个GlassFish 3.0错误?

0 个答案:

没有答案