Hi folks!
We recently talked about ways to properly destroy beans which got created via Instance or
@New.
I just realized that only having
@Inject @New MyClass dings;
might not be enough.
Imagine you have 2 producer methods which create EntityManagers
public class EntityManagerProducer {
@Produces @RequestScoped @UserDb
public void createUserDbEm() {
return entityManagerFactory.createEntityManager("userdb");
}
@Produces @RequestScoped @AdminDb
public void createAdminDbEm() {
return entityManagerFactory.createEntityManager("admindb");
}
}
If I need a 'temporarily self managed' userdb EntityManager, I cannot just
type
@Inject @New @UserDb EntityManager userDbEm;
because according to the spec there is only 1 Bean with exactly @New (and none with
additional @UserDb)
The @New is basically useless for producer methods, isn't?
Do we like to address this somehow?
LieGrie,
strub