Jak i kiedy w JSF jest niszczone @ ViewScoped bean?
Cyklu życia @RequestScoped
i @SessionScopedBean
managed beans są zarządzane przez kontener Servleta, ponieważ są one zasadniczo przechowywane jako atrybut odpowiednio HttpRequest
i HttpSession
. Jak JSF zarządza cyklem życia @ViewScopedBean
? Wiem, że zostanie utworzony, gdy widok jest tworzony i jest użyteczny, dopóki nie ma postback do innego widoku. Ale okazało się, że nie są to śmieci zbierane od razu po tym, jak ruszymy z tego widoku.
1 answers
Zostanie zniszczony, gdy
-
Postback z wynikiem Nie{[0] } został wykonany,
Lub, liczba (logicznych) widoków w sesji została przekroczona, a konkretny widok jest pierwszym w łańcuchu LRU (w Mojarra, który można konfigurować za pomocą parametrów kontekstowych
com.sun.faces.numberOfViewsInSession
icom.sun.faces.numberOfLogicalViews
, każdy z domyślną wartością 15),Lub, Liczba zakresów widoku actieve w sesji została przekroczona( w Mojarra, jest to hardcoded limit 25), Zobacz także JSF 2.2 zużycie pamięci: dlaczego Mojarra przechowuje w pamięci 25 ostatnich widoków?
Lub sesja wygasła.
W ten sposób Nie zostanie zniszczona, gdy strona zostanie rozładowana w wyniku kliknięcia łącza pobierz do innej strony, odświeżenia strony lub zamknięcia karty/okna przeglądarki. Fasola będzie żyła tak długo, dopóki nie zostanie spełniony jeden z powyższych warunków. Aby zniszczyć go podczas rozładunku, rozważ użycie OmniFaces @ViewScoped
zamiast tego.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:07:19