2016-12-16 3 views
1

Third-Party-Integration, Browser-Umleitung Funktion löst mehrere Anfrage (nur IE), 2 Anfragen innerhalb von 2 Nanosekunden Differenz. Ich verwende Anforderungsattribut, um doppelte Anfrage abzuziehen und korrekte Anfrage zu verarbeiten (erste Anfrage), doppelte Anfrage sendet eine Fehlermeldung. Unerwarteterweise erhält der Browser bei der ersten Anfrage einen Fehler und stoppt den weiteren Prozess (Weiterleitung an eine andere Komponente aufgrund eines Fehlers).Vermeiden Sie mehrere Anfrage Java Web-Anwendung

Da die Fehlerreaktion sofort gesendet wird, dauert die korrekte Anforderung wenige Nanosekunden für die Verarbeitung der Geschäftslogik.

Wie kann ich die doppelte Anfrage stoppen? Kann ich Thread.sleep(20 sec) in Fehler-Anfrage setzen, so doppelte Anfrage wird umgeleitet werden nach 20 Sekunden bis zu diesem Zeitpunkt korrekte Anfrage wird verarbeitet und an den Browser weitergeleitet.

Ist das ratsam?

+0

Ihre Frage ist sehr schwer zu lesen und zu verstehen, aber wenn ich Sie richtig verstehe, ist die Lösung: senden Sie keine Fehlermeldung für die zweite Anfrage. Tun Sie nichts, aber senden Sie keine Fehlermeldung. –

Antwort

1

Wenn ich Ihre Frage richtig verstehe, ist Ihr Problem: Haben Sie 2 Anfragen und sie senden sie zusammen zu Ihrer Webanwendung, aber 1 der Anfragen erhielt eine Fehlermeldung.

Wenn es korrekt ist. Die Lösung hängt davon ab, was der Kunde erwartet, was in diesem Fall ein Knick der Antwort ist. Wir haben 2 Wege zu gehen:

  1. Return die Fehlermeldung, wenn ein Problem Nachricht an den Client hat
  2. Fehler Anfrage ignorieren, und die Antwort für die zweite Anforderung senden.

In meiner Sicht, verwenden Sie diese nicht ein:

Thread.sleep (20 sec)

Was ist passiert, wenn Ihr Antrag mehr als 20 Sekunden dauern zu verarbeiten . Hoffe es hilft.

+0

browserspezifische Version des Meta-Refresh-Tags, das 2 Anfragen auslöst. Anwendungsbrowser-Umleitungsfluss ist 1) Fremdkomponente -> 2) Komponente a (Prozessbuslogik) -> 3) Komponente b. Hier bekommt Komponente A 2 Anfragen. Wie kann ich die zweite Fehleranforderung ignorieren? Browser wird 2 Anfrage ausgelöst und auf Antwort warten. – balamuruganv

+0

Wenn ich eine Anfrage für 20 Sekunden halte, wird eine andere Anfrage Prozess sein, dann wird der Browser eine Antwort erhalten und dann zu Komponente b umleiten. Nach 20 Sekunden wird die Fehleranforderung vom Browser ignoriert – balamuruganv

Verwandte Themen