所以,我处在一种情况,我想排队一堆HttpServletRequest对象进行异步处理.暂时搁置这是否是一个明智的策略 - 实际上就是在这种情况下,因为我正在尝试改造一个糟糕的遗留系统 - 这是一件危险的事情吗?
我在这里关心的是HttpServletRequest对象是否持有任何有价值的资源或打开连接会导致死锁或资源争用问题.
这里假设我正在实现一个带有doPost()方法的简单servlet,该方法接受HttpServletRequest对象,将其放入LinkedBlockingQueue,然后向用户发送某种股票响应(如301重定向到确认页面).
谢谢!
我已经看到了码头的内部,我可以向你保证,将这个结构从当前的请求中移出会非常非常糟糕.有各种当前连接状态,不能在当前请求之外使用.我不禁想到,几乎任何servlet容器都是如此.
听起来您正计划响应原始请求,然后进行一些额外的处理.我建议将原始请求中所需的信息复制到单独的数据结构中以进行离线处理.此外,如果您正在处理需要HttpServeletRequest的代码,您始终可以使用代码所需的数据位来模拟您自己的代码.