Well, I think @Typed is another work around.  It doesn't remove the object
from the archive simply says you can't reference it by anything but what's
in @Typed.


On Sun, May 19, 2013 at 6:19 AM, Mark Struberg <[email protected]> wrote:

> CDI-1.0 _has_ a concept of vetoing. Simply annotate Foo with
>
> @Typed()
>
> LieGrue,
> strub
>
>
>
>
> ----- Original Message -----
> > From: John D. Ament <[email protected]>
> > To: [email protected]
> > Cc:
> > Sent: Sunday, 19 May 2013, 4:37
> > Subject: Re: [OWB] CDI - how to realize default producer?
> >
> >T he easiest way is to actually put a qualifier on the class itself, and
> > then never inject based on that qualifier.  CDI 1.0 has no concept of a
> > veto'd bean, but you could write an extension yourself that veto'd your
> > class.
> >
> > Extensions exist out there, I believe CODI has one and Seam3 has one.
> > Seam3 uses @Veto to mark these beans as veto'd.
> >
> >
> > On Sat, May 18, 2013 at 6:48 PM, Reinis Vicups <[email protected]> wrote:
> >
> >>  Hi,
> >>
> >>  I'd like to use a producer method in ALL CASES when @Injecting a
> >>  particular bean.
> >>
> >>  It looks like this:
> >>
> >>  public class FooProducer {
> >>
> >>      @Produces
> >>      public Foo produceFoo() {
> >>          Foo foo = new Foo();
> >>          return foo;
> >>      }
> >>  }
> >>
> >>  public class Foo {}
> >>
> >>  With this example I get:
> >>
> >>  SEVERE - CDI Beans module deployment failed
> >>  javax.enterprise.inject.**AmbiguousResolutionException: Ambiguous
> >>  resolution
> >>  found beans:
> >>  Foo, Name:null, WebBeans Type:MANAGED, API
> > Types:[....Foo,java.lang.**Object],
> >>  Qualifiers:[javax.enterprise.**inject.Any,javax.enterprise.**
> >>  inject.Default]
> >>  Foo, Name:null, WebBeans Type:PRODUCERMETHOD, API
> Types:[....Foo,java.lang.
> >>  **Object],
> Qualifiers:[javax.enterprise.**inject.Any,javax.enterprise.**
> >>  inject.Default]
> >>
> >>  I tried applying @Default with no success.
> >>
> >>  And I don't want to make specific @Qualifier annotation, because this
> > is
> >>  unnecessary in my case and will cause errors in those cases when I
> forget
> >>  to provide that @Qualifier at injection point.
> >>
> >>  If anyone could help me with setting up a correct way to provide
> default
> >>  producer, would be great.
> >>
> >>  thanks and kind regards
> >>  Reinis
> >>
> >
>

Reply via email to