2017-08-15 1 views
-1

私はいくつかのサーブレットでinitメソッド呼び出しの順序を保証しようとしています。私の考えでは、初期化したい最初のサーブレットの開始時ロード値を1に指定し、2番目のサーブレットのロード時開始値を2に設定して初期化します。ロード・オン・スタートアップの前にコンテナがサーブレット要求をどのように処理しますか?

私の質問は、サーブレット1の初期化が完了する前にサーブレット2のリクエストを受け取ったらどうなりますか?

こんにちはジャロッド、 私の質問は重複しているとは思わない。 ありがとう、Charlie

+0

明確化への答えでTomcatの仕様上

詳しい情報ください:上記のload-on-startupがのload-on-startupの完了までサービスさを持つ任意のサーブレットへのリクエストに答え、質問示さないんどこ起動時に負荷がかかるすべてのサーブレット? – Charlie

答えて

-1

Webアプリケーションが起動する前にリクエストが処理されません。負でない値load-on-startupを指定すると、Webアプリケーションの起動時にサーブレットinit()メソッドが呼び出されることを意味します。その結果、このようなサーブレットは、そのメソッドが終了するまで、どのような要求も処理しません。

サーブレットコンテナはサーブレットでload-on-startup(順不同)のサーブレットでinit()を呼び出すだけで、リクエストを処理できるようになります。

デフォルト設定のTomcat 7では、アプリケーションの起動時に受信したリクエストが遅延します(少なくとも私の場合)。 Prevent Tomcat from caching request during starup

+0

ありがとうございます。これは私の質問に答えました。 load-on-startupが指定されていると、要求が侵入してinitの順序が乱れることはありません。 – Charlie

+0

答えを受け入れてください:) –

関連する問題