【问题标题】:Manage requests in tomcat在tomcat中管理请求
【发布时间】:2012-07-11 11:47:36
【问题描述】:

我想管理请求。正是我希望通过将某些请求传递给队列并接下来使用其他线程处理它来延迟某些请求的响应。我正在使用 servlet 的过滤器。在 doFilter 方法中,我不调用 filterChain 的 doFilter,尽管如此,还是会发送响应。在其他线程中,当我从队列中调用 filterChain 上的此方法时,我得到了 null。

这两个问题有什么问题(不要立即发送响应?

【问题讨论】:

  • 我认为 Tomcat 管理请求。为什么你认为你需要这样做?
  • 这是客户要求。他想停止一分钟的一些请求。

标签: servlets servlet-filters


【解决方案1】:

你不应该那样做。请求和响应对象范围仅在作为容器调度的一部分调用的 Servlet's service()Filter's doFilter() 方法内有效。

Servlet Spec说......


容器通常在对象上回收响应完成方法以避免响应对象创建的性能开销。开发人员必须意识到,维护对未调用相应请求上的startAsync 的响应对象的引用,超出上述范围可能会导致不确定的行为。

注意:您应该使用可以暂停和恢复请求的 Servlet 3.0 异步请求处理

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-15
    • 2015-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多