Implikacje pamięciowe OmniFaces ViewScoped bean?
Z tego, co rozumiem, ziarna ViewScoped ulegają zniszczeniu tylko wtedy, gdy zachodzi jedna z następujących sytuacji:
1) JSF wysyła żądanie POST na inną stronę z czymś w rodzaju a<h:commandLink...>
2) Liczba otwartych ziaren przekracza ustawienie maksymalnego progu (domyślnie 15)
3) Sesja użytkownika wygasa
Oto moje zamieszanie:
Czy nr 1 oznacza, że jeśli użytkownik odejdzie od strony z żądaniem GET, komponent bean pozostanie otwarty, nawet jeśli ostatecznie JSF POST wydarzy się w tej samej karcie przeglądarki na innej stronie? Czy wszystkie aktywne instancje @ViewScoped dla tej karty przeglądarki zostaną zniszczone po wysłaniu testu JSF POST bez względu na to, na której stronie użytkownik jest włączony?
Czy nr 2 oznacza, że użytkownik może mieć 15 instancji komponentu bean dla każdej klasy @ViewScoped? Czy jest to 15 instancji komponentu bean bez względu na klasę - co oznacza, że mogę mieć 5 instancji klasy Class1, 5 instancji klasy Class2 i 5 instancji klasy Class3, a nowy komponent bean zniszczy najstarszy aktywny komponent bean?
Dla # 3, jeśli STATE_SAVING_METHOD jest ustawione na „klient”, czy będzie to miało jakiekolwiek konsekwencje w niszczeniu fasoli ViewScoped? Z tego, co pamiętam, musi istnieć sposób na ręczne kontrolowanie wygaśnięcia sesji, jeśli STATE_SAVING_METHOD jest ustawione na klienta.
Czy istnieje sposób na zarządzanie aktywnymi komponentami ViewScoped, aby można je było zniszczyć, gdy użytkownik kliknie na przykład „wylogowanie”?