Контейнер должен позволять только 1 поток в конкретном экземпляре EJB, поэтому: каждый метод может быть выполнен только одним потоком, а ваша переменная является «безопасной» (как вы инициализируете ее в конструкторе или @PostConstruct
методе).
Однако , SLSB (EJB без сохранения состояния) должен не использоваться для сохранения состояния.EJB объединяется, поэтому у вас нет никаких гарантий, что вы вернетесь к тому же экземпляру.SFSB создан для этой цели.
EntityManager, как и каждое поле экземпляра в EJB, является поточно-ориентированным.
Однако , сам EntityManager не поточно-безопасный и не может использоваться в среде, где к нему могут обращаться более 1 потока (т. е. в сервлете).EntityManagerFactory
следует использовать вместо этого в таких случаях.