As explained below: in every case where you need a producer method to create a useful
bean, then @New just doesn't work.
My usecase was that I would have needed one of those EntityManagers for unit tests. And
since unit tests are no CDI managed beans thus cannot use @Transactional, I wanted to just
create a manually managed contextual instance.
@New currently is basically only useful for creating new instances of a class (which must
not even be a managed bean but vetoed...).
LieGrue,
strub
----- Original Message -----
From: Pete Muir <pmuir(a)redhat.com>
To: Mark Struberg <struberg(a)yahoo.de>
Cc: "cdi-dev(a)lists.jboss.org" <cdi-dev(a)lists.jboss.org>
Sent: Sunday, September 25, 2011 9:56 PM
Subject: Re: [cdi-dev] @New and producer methods/fields
Section 3.12 states "For each managed bean, and for each session bean, a
second bean exists which:"
So, there are no @New beans for producers.
What is the use case you are trying to address?
On 24 Sep 2011, at 11:35, Mark Struberg wrote:
> 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
>
>
> _______________________________________________
> cdi-dev mailing list
> cdi-dev(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/cdi-dev