1

次の問題があります。

別のサービスを照会する必要があるサーブレットと JSP を使用して Web アプリケーションを作成しています。ただし、クエリには多くの時間がかかります (約 30 秒)。

私のアプリの構造は単純です - Filter->Controller->jsp. コントローラーがジョブを実行している間に、フィルターでリクエストを別のスレッドに送信して処理するとどうなるかを考えていました。クエリ処理とコントローラ処理を同時に行うにはどうすればよいですか?+ クエリを 5 分ごとに更新する必要があります (ユーザーが関連情報を取得できるようにするため)。それを行う最適な方法は何ですか?

4

1 に答える 1

1

ServletContextListener を使用して、Web アプリケーションの開始時にスレッドを開始します。

スレッドは、データを ServletContext に書き込む必要があります (たとえば、setAttribute() を介して)。

ServletContextListener は、アプリケーションが停止したときにスレッドを終了する必要があります。

サーブレットは、必要に応じて ServletContext からデータを読み取る必要があります。

于 2012-05-19T19:36:31.360 に答える