PersistenceContextType.EXTENDED a stanowość serwisów

0

Hej, mam mały dysonans, jak się ma PersistenceContextType.EXTENDED do stanowości serwosów? Poniżej przykład z jboss'a.
screenshot-20201223124112.png

W tym przykładzie serwis jest stanowy, a według dobryk praktyk serwisy nie powinny posiadać konkretnego stanu. Czy to jeden z tych przypadku, w których dobre praktyki mają się nijak do tego co chcemy zrobić ?

0

Jak aplikacja zdechnie, to co się stanie z koszykiem? Co się stanie z aplikacja, kiedy koszyk sklika tysiąc userów? Czy jesteś w stanie skalować się wszerz? :)

0

Ogólnie @Stateful powinien mieć gdzieś metodę oznaczoną adnotacją @Remove (https://javaee.github.io/javaee-spec/javadocs/javax/ejb/Remove.html), po wykonaniu takiej metody obiekty należące do kontekstu EntityManager'a powinny zostać zapisane w bazie.
Dobrą praktyką jest nieużywanie @Stateful ponieważ logika i dane są ze sobą związane.
Koszyk można przekazywać jako parametr do metody, wtedy dane (koszyk) są oddzielone od logiki (zapis koszyka).

1 użytkowników online, w tym zalogowanych: 0, gości: 1