JSF simultane Ajax-Aufrufe

8

Ist es mit JSF möglich, Ajax-Aufrufe auszuführen, die gleichzeitig ausgeführt werden (nicht darauf warten, dass vorherige Aufrufe beendet werden, bevor eine neue gestartet wird)?

    
kgautron 27.10.2011, 19:31
quelle

2 Antworten

11

Nein, sie werden explizit nach der Spezifikation in die Warteschlange gestellt, ohne Ausnahme. Siehe Kapitel 13.3.2 der JSF 2-Spezifikation :

  

13.3.2 Ajax Request Queuing

     

Alle Ajax-Anfragen müssen in eine clientseitige Anfragewarteschlange gestellt werden, bevor sie an die   Server, um sicherzustellen, dass Ajax-Anfragen in der Reihenfolge verarbeitet werden, in der sie gesendet werden. Die Anfrage, die in der Warteschlange gewartet hat   Am längsten ist die nächste Anfrage gesendet werden. Nachdem eine Anforderung gesendet wurde, muss die AJAX-Anforderungsrückruffunktion die Anforderung entfernen   aus der Warteschlange (auch bekannt als aus der Warteschlange). Wenn die Anforderung erfolgreich abgeschlossen wurde, muss sie aus der Warteschlange entfernt werden. Ob   Es gab einen Fehler, der Client muss benachrichtigt werden, aber die Anforderung muss noch aus der Warteschlange entfernt werden, damit die nächste Anforderung   kann gesendet werden. Die nächste Anforderung (die älteste Anforderung in der Warteschlange) muss gesendet werden. Siehe jsf.ajax.request   JavaScript-Dokumentation für genauere Informationen zur Ajax-Anforderungswarteschlange.

Dies wird getan, um die Thread-Sicherheit unter anderem der View-Bereichs-Beans auf der Serverseite zu gewährleisten.

    
BalusC 27.10.2011, 19:34
quelle
3

Um Probleme mit dem sogenannten View-State der Seite oder einiger Formulare zu vermeiden, werden AJAX-Anfragen serialisiert.

JSF-Erweiterungen ( Ссылка ) gibt Ihnen die Möglichkeit zur Parallelisierung AJAX-Anfragen. Setzen Sie einfach die JavaScript-Variable jsf.ajaxQueue auf einen anderen Wert als den Standardwert 1. Wenn Sie jedoch keine doppelten Anfragen von demselben Formular oder derselben Region im selben Rendering aussperren, erhalten Sie Fehler.

So aktivieren Sie parallele Anfragen:

%Vor%

Sie können beispielsweise das Rendering auf dem Server einer Seite mit & lt; e: async & gt; parallelisieren. Die meisten Anwendungen benötigen keine parallelen Anfragen, weil sie bei strenger Serialisierung gut laufen.

    
Tires 14.08.2013 15:16
quelle

Tags und Links