Witam serdecznie.
Od dłuższego czasu nurtuje mnie pytanie związane właśnie z zasięgiem obiektów i sposobu ich przetrzymywania w jvm oraz ich wzajemnym przenikaniem się.
Na przykład:
do pełnego obrazu problemu dorzućmy server tomcat oraz spring framework.
Jeśli ustawimy w kontenerze zasięg żądania, to bean istnieje do czasu zakończenia się operacji związanych z żądaniem.
Weźmy pod uwagę zasięg session.
Bean oznaczony tym zasięgiem jest dostępny tylko dla klienta, który rozpoczął sesję i istnieje do czasu zakończenia sesji.
Tylko klient może modyfikować zawartość beana.
Bean ten jest trzymany w thread local storage. - tego właśnie nie jestem pewien.
Dochodzą również inne zasięgi.
Gdy dołożymy spring webflow mamy do dyspozycji zasięg flow. Czy to znaczy, że bean jest widoczny tylko dla klientów uczestniczących w przepływie?
Czy gdy z przeglądarki wychodzi żądanie i rozpoczyna przepływ, to każde takie żądanie tworzy osobny wątek w którym są umieszczane obiekty, zmienne ... które powstają dla tego przepływu - umieszczone są w tym samym thread local storage?
Mniej więcej tak bym to sobie wyobrażał ale pewności nie mam.
Jeśli ktoś wie to mógł by się podzielić tą informacją ;)
Pozdrawiam serdecznie