na podstawie tego przykładu:Wiosna: @PersistenceContext i @Autowired bezpieczeństwo wątku?
@Service
public class Purchase {
@PersistenceContext
private EntityManager em;
@Autowired
private PurchaseDAO dao;
private String normalField;
.... // methods, operations, etc
}
Proszę pomóc mnie poprawić, jeśli im pomylić:
- Klasa serwis Zakup i PurchaseDAO są samotnymi, które są zarządzane przez sprężynę
- Pole klasy usługi normalField nie jest chronione wątkami, ponieważ singleton jest pojedynczym obiektem udostępnianym przez wiele różnych użytkowników.
- Załóżmy, że @ Repository-adnotacją-PurchaseDAO robi żadnego pola, co oznacza, że to threadsafe zostanie wstrzyknięty automatycznie przez sprężynę
- EntityManager instancja jest także właściwość threadsafe ponieważ @PersistenceContext uczyni upewnij się, że zostanie użyty element entityManager bieżącej transakcji.
Dziękujemy!
hej @bertie, używam podejścia '@ PersistenceContext'. ale wydaje się, że tworzy wyciek pamięci. ponieważ sesja nie jest jasna. Czy doświadczyłeś czegoś takiego? – oak
@oak: Przepraszam, nie jestem pewien, ponieważ minęło sporo czasu od kiedy ostatnio grałem z JPA. Proponuję Ci utworzyć nowe pytanie do twojego problemu wraz ze środowiskiem, w którym umieścisz '@ PersistenceContext', itp. – bertie