2013-01-10 16 views
7

Dowiedziałem się, że fabryka sesji Hibernate jest bezpieczna dla wątków. Czy każdy może wypowiedzieć się na temat tego, jak działa jako wątek bezpieczny w aplikacji internetowej i jak wszystkie metody są zsynchronizowane lub cokolwiek innego?Powody, dla których Hibernate's sessionFactory jest bezpieczny dla wątków

+0

prawdopodobnie to pomogłoby Ci: http://stackoverflowflow.com/questions/14411860/why-use-only-one-sessionfactory-object-per-application – Falaque

Odpowiedz

10

The internal state of a SessionFactory is immutable. Większość problemów związanych z współbieżnością występuje z powodu współdzielenia obiektów o zmiennym stanie. Gdy obiekt jest niezmienny, jego stan wewnętrzny jest ustawiony na tworzenie i nie można go zmienić. Tak wiele wątków może uzyskać do niego dostęp jednocześnie i poprosić o sesje.

Jednak sesja jest obiektem pozbawionym wątków, nie można jej udostępniać między wątkami.

+0

Co więcej, dlaczego sesja jest wątkiem z powodu zasady hibernacji pojedynczego źródła danych – LowCool

Powiązane problemy