0

2.3.3.4Servlet 3.0 Spec 的部分内容如下:

除了 startAsync 和 complete 方法,请求和响应对象的实现不保证是线程安全的。这意味着它们只能在请求处理线程的范围内使用,或者应用程序必须确保对请求和响应对象的访问是线程安全的。

我正在使用 Jetty,我的问题是 -

我的要求是在处理请求的异步线程中读取请求的 ServletInputStream。现在,如果我要阅读 http 标头等,那将很容易。我可以在开始异步并传递给线程之前阅读它们。

但是,在我的情况下,我需要使用 ServletInputStream 因为我不想在传递到处理线程之前缓冲内容。

有没有办法可以解决这个问题?或者,如果我只是将 ServletInputStream 的引用传递给处理线程,我会好吗?

4

1 回答 1

1

只要您确保在任何时候只有一个线程正在从 ServletInputStream 读取数据,您就可以了。

于 2013-06-25T12:02:00.007 回答