0

2.3.3.4Servlet 3.0仕様のセクションは次のとおりです-

startAsync メソッドと complete メソッド以外のリクエスト オブジェクトとレスポンス オブジェクトの実装は、スレッド セーフであるとは限りません。これは、リクエスト処理スレッドのスコープ内でのみ使用するか、アプリケーションがリクエスト オブジェクトとレスポンス オブジェクトへのアクセスがスレッド セーフであることを確認する必要があることを意味します。

私は Jetty を使用していますが、私の質問は -

私の要件は、リクエストを処理している非同期スレッドでリクエストの ServletInputStream を読み取ることです。これで、http ヘッダーなどを読み取ることができれば、簡単です。非同期を開始してスレッドに渡す前に、それらを読み取ることができます。

しかし、私の場合、処理スレッドに渡す前にコンテンツをバッファリングしたくないので、ServletInputStream を使用する必要があります。

この問題を解決する方法はありますか? それとも、処理スレッドに ServletInputStream の参照を渡すだけでいいのでしょうか?

4

1 に答える 1

1

一度に 1 つのスレッドだけが ServletInputStream から読み取っていることを確認する限り、問題はありません。

于 2013-06-25T12:02:00.007 に答える