Cykl życia @RequestScoped
i @SessionScopedBean
zarządzanych fasoli z zarządzanych przez samego pojemnika Servlet, ponieważ są one w zasadzie przechowywane jako atrybut HttpRequest
i HttpSession
odpowiednio. W jaki sposób JSF zarządza cyklem życia urządzenia @ViewScopedBean
? Wiem, że jest tworzony, gdy widok jest tworzony i można go używać do czasu odświeżenia widoku do innego widoku. Ale dowiedziałem się, że to nie śmieci są zbierane natychmiast po tym, jak przenosimy się z tego widoku.Jak i kiedy fasola @ViewScoped została zniszczona w JSF?
Odpowiedz
Będzie on zniszczony podczas
odświeżenie strony z nieprzestrzegania
null
wynik jest prowadzone prawidłowo,lub liczba (logicznych) widoków w sesji został przekroczony, a zwłaszcza widok jest pierwszym w łańcuchu LRU (w Mojarrze, który można konfigurować za pomocą parametrów kontekstowych
com.sun.faces.numberOfViewsInSession
icom.sun.faces.numberOfLogicalViews
, z których każdy ma domyślną wartość 15),lub nu Domyślnie przekroczono zakres działania w sesji (w Mojarrze, to zakodowany limit 25), zobacz także JSF 2.2 Memory Consumption: Why does Mojarra keep the ViewScoped Beans of the last 25 Views in Memory?
lub sesja wygasła.
To będzie zatem nie zostać zniszczone, gdy strona jest rozładowywane w wyniku kliknięcia łącza GET do innej strony lub odświeżyć stronę lub zamykając kartę/okno przeglądarki. Fasola będzie żyła tak długo, aż spełniony zostanie jeden z wyżej wymienionych warunków. Aby go zniszczyć mimo rozładowania, rozważ użycie zamiast tego opcji OmniFaces @ViewScoped
.
co masz na myśli przez LRU? Ostatnio użyto? a także co masz na myśli przez * widoki logiczne *? – Geek
1) Tak. Są przechowywane na mapie LRU, uporządkowanej według ostatniego użycia. Najmniej wykorzystywany jest pierwszy wpis. 2) Patrz: http://stackoverflow.com/questions/12562469/how-can-i-set-the-view-timeout/12564632#12564632 – BalusC
@BalusC, czy są jakieś rozwiązania, które przyspieszają wyświetlanie fasoli z widokami? będzie ominilował widoki z komentarzem? –
- 1. Viewscoped JSF i CDI fasola
- 2. Korzystanie z @ViewScoped w JSF 2.0?
- 3. Przeciek pamięci z ziarnami ViewScoped?
- 4. ManagedProperty z SessionScope wewnątrz ViewScoped Bean - Transient?
- 5. przeglądarka powrotem + viewscope fasola
- 6. przełączania fragmenty - Google Map Fragment V2 - Działalność została zniszczona błędach
- 7. Wyświetlenie przesłanego obrazu w JSF
- 8. Jak rozpoznać, kiedy zakładka przeglądarki została powielona?
- 9. Znajdź, kiedy linia została usunięta
- 10. Wiosna, fasola i wartość enumOf
- 11. Jak określić, kiedy kwerenda została wykonana pomyślnie w PHP PDO?
- 12. Jak sprawdzić, kiedy konkretna tabela została utworzona w Oracle?
- 13. Jak uzyskać dostęp do zarządzanych komponentów bean @ViewScoped z serwletów?
- 14. Internacjonalizacja w JSF 2.0
- 15. Bardzo prosty kod, ale mam błąd „Działalność została zniszczona”, gdy wykorzystanie Fragment
- 16. JSF 2 inject Spring bean/service z @ ManagedProperty i bez xml
- 17. JSF i częściowa walidacja
- 18. Sesja o ustalonej skali i fasola stanowa vs httpsession
- 19. Jak mogę sprawdzić, kiedy funkcja została dodana do Perla?
- 20. JSF 2.0 RenderResponse i ResponseComplete
- 21. FileDownload i FileUpload JSF Primefaces nie działa
- 22. Dlaczego fasola zarządzana nie jest załadowana w Tomcat?
- 23. Autoryzacja i autoryzacja JSF
- 24. Powtórz nad HashMap.values () w JSF + Facelets
- 25. Wiosenna fasola Clojure
- 26. Kiedy używać node.js i kiedy używać ajax?
- 27. Jaki jest kontekst aplikacji i fabryka fasola w ramach wiosennej
- 28. javax.servlet.ServletException: fasola [nazwa] Nie znaleziono w zakres
- 29. JSF SelectItems i escaping (xss)
- 30. AsyncTask zawsze będzie działał, nawet jeśli aplikacja zostanie zniszczona?
Gdy zarządzana metoda działania fasoli zwróci poprawny wynik sprawy nawigacyjnej, nawet jeśli jest w tym samym widoku, obszar zarządzany z widokiem zostanie ograniczony i odtworzony. Przeczytaj ten http://balusc.blogspot.co.il/2011/09/communication-in-jsf-20.html i tutaj zapisano: http://stackoverflow.com/a/9177769/617373 – Daniel
Cóż, w rzeczywistości, nie powinieneś być w stanie przewidzieć gc, czy to się stanie od razu? Ale jeśli chodzi o widok fasoli w mojarra, zobacz http://stackoverflow.com/a/13097208/1530938 – kolossus
garbage collection is asynchronous. kiedy zasięg widzenia jest "zniszczony", jest tak naprawdę "oznaczony jako gotowy do zbierania śmieci", tak jak wszystkie inne obiekty java. Uwaga: znak jest rzeczywiście liczbą odniesienia wynoszącą 0 (tj. Oznaczoną "nie jest już używana"). – DwB