2009-08-08 3 views
0

Ich bin ein wenig durch den folgenden Absatz verwirrt:Warum nicht SingleThreadModel die Attribute synchronisieren?

„Die Wirkung der Umsetzung der Single praktisch die gleiche ist, die Service-Methode als Synchronisation Beide eine Web-App in die Knie, ohne die Sitzung und Kontextzustand Schutz bringen kann.. "

Da STM die Dienstmethode synchronisiert, ist es nicht ganz offensichtlich, dass es auch den Status von Sitzungs- und Kontextattributen aus mehreren Threads synchronisiert. Warum wird es also nicht helfen, die STM-Schnittstelle in der Servlet-Klasse zu implementieren?

Antwort

2

Sie können immer noch andere Threads verwenden, die auf die Sitzung und/oder den Kontext von einem anderen Servlet oder einer anderen Seite zugreifen und diese ändern. Das bestimmte STM-Servlet ist sicher, aber höchstwahrscheinlich haben Sie mehr als nur dieses Servlet in Ihrer Webanwendung.

0

Jedes Attribut Ihres STM-Servlets muss am Anfang der service-Methode festgelegt werden, und sie werden während der gesamten Anforderung nicht geändert.

Es kann jedoch nicht garantiert werden, dass die Attribute in der nächsten Anfrage desselben Benutzers identisch sind.

Das ist, was sie mit "ohne Schutz der Sitzung und Kontextzustand" meinen.

Verwandte Themen