Web サービスは、サーブレットの内部実装です。また、Web/アプリ サーバーは、新しいスレッドごとに新しいリクエストを処理します。
これは、内部的に Web サービスの各要求が新しいスレッドで処理されることを意味します。ここで、このサービスには複数のコンシューマーがあると考えてください。すべてのコンシューマーが同時にプロバイダーにリクエストを送信している可能性があります。これは、このようなシナリオを克服するには、この Web サービスの実装がスレッドセーフである必要があることを意味します。
メンバー変数を持たないことで Web サービスがスレッドセーフになることはすでにわかっています。ただし、メンバー変数を使用する必要があり、これらの変数は Spring Bean を介して注入されます。
それらをスレッドセーフにする方法について何か提案はありますか?
編集:
定義上、スレッド セーフなクラスである class1 が、スレッド セーフではない別のクラスのオブジェクトを使用している場合、class1 はよりスレッド セーフになります。
私の要点は、Spring Bean の使用は既に私のサービスで行われており、今はそれらをスレッドセーフにしたいということです。これに関する提案。
内部的には http リクエストとレスポンではなく jms メッセージを使用しているため、リクエスト スコープを考えることはできません。これに関するアイデアはありますか?