いくつか質問があります。私の知る限り、コンテナへのすべてのリクエストはHttpServletRequest
. より多くのリクエスト -> のより多くのインスタンスHttpServletRequest
。次に、リクエスト オブジェクトが「abc」という名前のサーブレットを呼び出すと、「abc」サーブレットのインスタンスが作成されます。同時に 3 つのリクエストが「abc」サーブレットに送信された場合、
(1)知りたいのですが、各リクエストごとに「abc」サーブレットの 3 つのインスタンスが作成されるということですか? または、サーブレットへの 1 つの要求が完了するまで要求がキューに入れられます。
次に、「abc」サーブレットへの 3 つの要求が、挿入と検索を同時に実行できるいくつかのデータベース プロセスを実行するとします。次に、
(2)他のリクエストのサーブレットがタスクを完了する(同期する)まで、またはすべてのサーブレットが個別のタスクとしてマルチスレッドとしてDBタスクを実行する(同期しない)まで、1つのリクエストをキューに入れる必要がありますか?
(3)。それらが同期されていない場合、それらのタスクを同期させて (たとえば、特定のタスクを 1 つだけ DB に保存するなど)、キューに入れるにはどうすればよいでしょうか? そのためには、サーブレットを実装するSingleThreadModel
か、シングルトン パターンに従って作成されたクラスにあるメソッドを使用する方がよいでしょうか? それでは、コンテナのパフォーマンスにどのように影響しますか?
つまり、すべてのリクエストに対して同期された特定のタスクを実行するにはどうすればよいでしょうか?
これも読みました。その記事はサーブレットについて述べています。サーブレットのタスクが別のクラスに引き渡されたとしましょう。これでシングルトン パターンを使用する方法を知りたいですか?