2012-04-10 1 views
0

In Struts2 erstellt jede Anfrage ein Aktionsobjekt. also hier kein Thread. es ist völlig fadensicher. Aber wie es gute Leistung geben. Hier arbeitet jedes Objekt in einem Stapel. (aber Thread wird mehrere Stapel zur Ausführung erstellen)Wie erhält Struts2 Leistung ohne Thread?

Wie behandelt es multipule Anfragen ohne Thread?

Antwort

2

Kurz gesagt, wenn Sie wissen, wie genau S2 funktioniert, werden Sie wissen, warum das so entworfen wurde.

In S2 funktionieren Ihre Aktionsklassen auch als Modellobjekte, wie das Übertragen von Daten von der Benutzeroberfläche zur Bean und von der Bean zur Benutzeroberfläche. Dies ist einer der Gründe, warum neue Instanzen der Action-Instanz für jede Anfrage erstellt wurden.

In Bezug auf die Leistung, wenn ich korrekt für jede Anfrage Thread erstellen, als Framework muss sich um die Synchronisierung der Daten kümmern, so dass es threadsicher sein sollte, ist wirklich ein großer Overhead und was wird letztlich die Gesamtleistung nicht verbessern .

S2 Aktion sind weder Servlets noch Controller.Ich glaube, Sie werden sich mit S2-Filter und S2-Action-Klassen verwirrt und am Ende hat jede Anfrage eine eigene Instanz der Anfrage Scoped S2 Aktion.