Ok, so I was able to reproduce my issue, but it doesn't match Aslak's case.
https://github.com/johnament/cdifoo
It's a very simple project. I used AS7 as my deployment container.
In one test, I use beans.xml to autoregister the archive.
That passes fine.
In the other test, I don't use a beans.xml, instead I use
public void addHandlers(@Observes BeforeBeanDiscovery bbd,BeanManager
beanManager) {
to register the classes in my archive. I even go the extra step of
registering my interface and test case, just in case.
Could you take a look at the project and let me know if you see something I
did wrong?
- John
On Tue, Jul 2, 2013 at 9:46 AM, John D. Ament <john.d.ament(a)gmail.com>wrote:
Yeah... Aslak's the one who brought this to my attention. It
was
something I saw happening in AS7 as well. Let me see if I can create a
simple project that demos this.
On Tue, Jul 2, 2013 at 9:18 AM, Pete Muir <pmuir(a)redhat.com> wrote:
> Yes, if you use @EJB, all bets are off :-) I was assuming John had an EJB
> that he wanted to @Inject.
>
> On 2 Jul 2013, at 14:13, Romain Manni-Bucau <rmannibucau(a)gmail.com>
> wrote:
>
> > Hi
> >
> > i think @EJB Foo<Bar> ignores Bar (or at least the ejb spec doesnt
> define it)
> >
> > Romain Manni-Bucau
> > Twitter: @rmannibucau
> > Blog:
http://rmannibucau.wordpress.com/
> > LinkedIn:
http://fr.linkedin.com/in/rmannibucau
> > Github:
https://github.com/rmannibucau
> >
> >
> >
> > 2013/7/2 Pete Muir <pmuir(a)redhat.com>
> >
> > On 2 Jul 2013, at 11:28, John D. Ament <john.d.ament(a)gmail.com> wrote:
> >
> > > Hi all
> > >
> > > In section 4.2 of the CDI spec (both 1.0 and 1.1) there are
> references to injection around generic types. I was wondering if someone
> could clarify this case?
> > >
> > > I have an interface:
> > >
> > > public interface Handler<? extends Foo> { ... }
> > >
> > > and then I have two implementations
> > >
> > > public class FarlowHandler implements Handler<Farlow> { .. }
> > >
> > > public class BagelHandler implements Handler<Bagel> { ... }
> > >
> > > Is it expected that I should be able to inject references to these by
> doing:
> > >
> > > @Inject
> > > private Handler<Farlow> fHandler;
> > >
> > > @Inject
> > > private Handler<Bagel> bHandler;
> >
> > Yes.
> >
> > >
> > > ? Is there any expected difference when using EJBs?
> >
> > Assuming the interface is part of the local client view of the EJB,
> then no. Obviously, if EJB has any rules around declaring generic types in
> local interfaces, then you need to respect those (IIRC, it doesn't).
> >
> >
> > _______________________________________________
> > cdi-dev mailing list
> > cdi-dev(a)lists.jboss.org
> >
https://lists.jboss.org/mailman/listinfo/cdi-dev
> >
>
>