2

特定のセッションについて、以前のHttpRequestを見つける方法はありますか?

Webクライアントは、長時間実行されているWebサービスに要求を送信します。このサービスの実行中に、クライアントは別の要求を送信します。最初のリクエストを見つけて、停止信号を送信したいと思います。

背景:処理に2〜4秒かかるWebサービスがあります。サーブレットはTomcatコンテナでホストされ、OSGiを使用して別のプラグインのメインプロセッサにアクセスしています。

リクエストは、ユーザーが一度に10個程度のリクエストを行うことができる別のWebサイトから送信されます。ユーザーが待機している間に、別のページを変更して、さらに10個のWebリクエストを開始することができます。以前のリクエストを見つける方法が必要です。次に、実行時間の長いプロセスに停止信号を送信する方法を見つけます。これにより、元のHttpRequestを適切なエラーコードで終了できます。

おそらく、この問題を調べる別の方法は、クライアントが重複する一連の要求を行った場合、最後の要求を処理し、前の要求をできるだけ早くキャンセルしたいということです。

4

2 に答える 2

0

以前のリクエスト ジョブ タスクをセッションに保持できます。そして、次の並行リクエストで、以前のリクエスト ジョブを取得して、必要なアクションを実行できます。

于 2012-07-09T12:42:37.373 に答える
0

探しているものが得られるとは思いませんHttpSessionが、リクエストが「最新の」リクエストであるかどうかを定期的に確認できるオブジェクトを作成することをお勧めします。それらが最新の要求でなくなった場合、それらは停止してすぐに戻ることができます。

于 2012-07-06T23:15:43.983 に答える