2016-12-16 10 views
1

サードパーティ統合、ブラウザリダイレクト機能が複数のリクエスト(IEのみ)をトリガし、2リクエストが2ナノ秒以内に発生します。私は要求属性を使用して重複要求を差し引き、正しい要求(最初の要求)を処理しています。重複要求はエラーメッセージを送信しています。予期しないことに、ブラウザーは最初の要求でエラーを受け取り、さらに処理を停止します(エラーのために別のコンポーネントにリダイレクトされます)。複数のリクエストJava Webアプリケーションを避ける

エラー応答がすぐに送信されているため、ビジネスロジックを処理するのに数ナノ秒かかることがあります。

どのようにして重複リクエストを停止できますか? Thread.sleep(20 sec)をエラー要求に入れることができます。そのため、要求が処理されてブラウザにリダイレクトされるまでに、20秒後に重複要求がリダイレクトされます。

これはお勧めですか?

+0

あなたの質問は非常に読みにくく理解していますが、私が正しく理解していれば解決策は次のとおりです。2番目の要求に対してエラーメッセージを送信しないでください。何もしないでください。エラーメッセージは送信しないでください。 –

答えて

1

あなたの質問が正しく理解されている場合、問題は2つのリクエストがあり、それらを一緒にWebアプリケーションに送信しますが、1つのリクエストにエラーメッセージが表示されます。

正しい場合は、解決策はクライアントの期待に依存しますが、このケースでは期待どおりの応答が得られません。我々はどこへ行く2つの方法があります:1件のメッセージがクライアントに問題がある場合

  1. 戻り、エラーメッセージを
  2. はエラー要求を無視し、第二の要求に対する応答を送信します。私の視点で

は、このいずれかを使用しないでください:

のThread.sleep(20秒)のリクエストを処理するために、20以上の秒を取るとどうどう

。 お手伝いをしてください。

+0

すなわち、ブラウザ固有のバージョンのメタリフレッシュタグは2つの要求をトリガします。アプリケーションブラウザリダイレクションフローは、1)サードパーティコンポーネント→2)コンポーネントa(プロセスバスロジック)→3)コンポーネントb)である。ここではコンポーネントaが2つの要求を取得しています。ここで私は2番目のエラー要求を無視できますか?ブラウザが2つの要求をトリガーし、応答を待っています。 – balamuruganv

+0

私は20秒間1つのリクエストを保持している場合、別のリクエストが処理され、ブラウザはレスポンスを取得してコンポーネントbにリダイレクトします。 20秒後にエラーリクエストはブラウザによって無視されます – balamuruganv

関連する問題