0

我想实现一个高级 Java servlet 过滤器来处理 API 服务器上的批处理请求。类似于Facebook 批处理请求 API的东西。这个想法是:

  • 在给定的 url 上设置 servlet 过滤器
  • 覆盖doFilter(request, response),这里:
  • 解析来自正文的部分请求列表,对于每个:
    • 准备部分请求
    • 称呼chain.doFilter(partialRequest, partialResponse)
    • 记住部分反应
  • 使用部分响应列表呈现响应

我能够HttpServletRequestWrapper为每个部分请求构建,并创建HttpServletResponseWrapper一些输出流作弊,但这有点难,我必须更改几乎所有部分,路径,正文,标题等。

是否有任何好的请求/响应操作库或更好的请求/响应包装类?

4

2 回答 2

0

我了解您希望将尽可能多的请求合并为一个,但我认为您不会在后端取消合并它们。

我认为您的方法使事情复杂化,我什至不确定是否可以在后端生成新的 HttpRequest 对象。

删除过滤器,坚持一个请求(在前端和后端),并为请求中的每个任务生成一个新线程。

于 2013-10-16T15:50:10.870 回答
0

感兴趣的人回顾更新:

最后,我潜入了黑暗的森林一整天HttpServletRequestWrapperHttpServletResponseWrapper并完成了功能齐全的批处理过滤器,为 servlet 提供多个请求并聚合响应。

不幸的是,这个过滤器必须是 servlet 之前的最后一个过滤器,因为后续过滤器只被调用一次。

于 2013-11-25T10:01:45.260 回答