Pessoal,
Qual seria a melhor estratégia para se obter o EntityManager em uma aplicação web utilizando JavaEE 7?
No caso Estou utilizando JTA Transaction.
Tenho uma classe, por exemplo ClasseServico que tem uma ClasseRepositorio injetado como atributo.
Tanto a ClasseServico quanto a ClasseRepositorio precisam ter uma instância de um EntityManager.
Com a classe “Produtora” abaixo, consigo ter a mesma instância de EntityManager tanto na ClasseServico quanto na ClasseRepositorio, mas sempre pego o mesmo, inclusive em requests diferentes, isso não está me cheirando bem…
Porém gostaria de validar com vocês se essa estratégia é boa. Tenho dúvidas se anotar a classe Produtora com @Singleton
pode ter algum efeito colateral quando mais de um usuário estiver usando o sistema ao mesmo tempo.
As classes Servico e Repositorio tem @RequestScoped
@Singleton
public class ProdutorEntitymanager {
@PersistenceContext(unitName = "producao")
@Produces @BancoProducao EntityManager entityManager;
}