Wie kann ich das View-Timeout einstellen?

8

In unserem JSF2 Projekt auf JBoss 7.1.1 definieren wir ein Session-Timeout in web.xml und es funktioniert gut.

Manchmal erhalten wir jedoch View-Ablauf, was zu Fehlern wie diesem führt, selbst wenn die Sitzung noch am Leben ist:

%Vor%

Wo können wir das Zeitlimit für die Ansicht festlegen , wie wir es für Sitzungen getan haben? Oder wird das View-Ablaufdatum durch etwas anderes verursacht?

    
Xavier Portebois 24.09.2012, 09:43
quelle

1 Antwort

14

Ein weiterer Grund für ViewExpiredException ist, dass zu viele logische Ansichten in der Sitzung erstellt wurden. Das Standardlimit ist JSF-implementierungsspezifisch und jede synchrone GET-Anforderung für eine bestimmte Ansicht erstellt im Grunde eine neue Ansicht. Wenn Sie beispielsweise Mojarra (mit einer Standardbeschränkung von 15) verwenden und eine Browsersitzung starten und dieselbe Ansicht auf 16 verschiedenen Registerkarten öffnen und anschließend ein Formular in der ersten senden, erhalten Sie möglicherweise auch diese Ausnahme . Das Limit kann mit einem JSF-implementierungsspezifischen Kontextparameter konfiguriert werden, der für Mojarra com.sun.faces.numberOfLogicalViews ist und org.apache.myfaces.NUMBER_OF_VIEWS_IN_SESSION in MyFaces (standardmäßig 20).

Dies ist jedoch ein sehr seltenes Problem der realen Welt. Wenn Ihre Webanwendung wirklich so gestaltet ist, dass sie auf diese Weise verwendet werden kann (z. B. eine soziale / Community-Site, die zum Öffnen auf mehreren Tabs wie Diskussionsforum oder Q & A lädt), sollten Sie stattdessen die Client-Seitenspeicherung verwenden. p>

Siehe auch:

BalusC 24.09.2012, 11:58
quelle

Tags und Links