Well, the explanation is not in the spec but in the JavaDoc.
Compare http://docs.jboss.org/cdi/api/1.0/javax/enterprise/inject/spi/InjectionPoint.html with the new wording in CDI-1.1 http://docs.oracle.com/javaee/7/api/javax/enterprise/inject/spi/InjectionPoint.html I refer to the new sentence "If the injection point is a dynamically selected reference obtained then the metadata obtain reflects the injection point of the Instance, with the required type and any additional required qualifers defined by Instance.select()." This theoretically should work in CDI-1.1 containers. Sadly there is no single implementation which implements this right now. Weld does provide a synthetic InjectionPoint though, but it only contains the qualifiers and type of the select but misses all the information from the Instance<> injection. As this is only needed for the test it might be a minor problem for us. Still thinking how we could improve this DeltaSpike test to not rely on this method. Weld-folks, is there already a report on this in Weld, or should I create one? I think the wording is clear, do we need to improve it in the CDI MR? LieGrue, strub ----- Original Message ----- > From: John D. Ament <[email protected]> > To: [email protected]; Mark Struberg <[email protected]> > Cc: > Sent: Saturday, 28 December 2013, 15:43 > Subject: Re: Fwd: Support of Instance<> in OWB > > Mark, > > Thanks for confirming. I don't particularly see anything in 3.2 that > clarifies this, but I'll take your word on it. > > > On Fri, Dec 27, 2013 at 2:25 PM, Mark Struberg <[email protected]> wrote: >> Looked at it and did a few tests. And also checked what we have in the > spec. >> >> For CDI-1.0 containers a producer bean with an InjectionPoint should not be > triggered manually. This is not required in CDI-1.0 (which OWB-1.2.x still > is) > but only got changed in CDI-1.1. >> >> Please compare the JavaDocs of InjectionPoint for CDI-1.0 and 1.1 to see > the difference. >> >> I will nonetheless add it to OWB trunk as it is really useful feature. >> >> thanks for the report! >> I've created OWB-921 for it. >> >> LieGrue, >> strub >> >> >> >> >> >> ----- Original Message ----- >>> From: Mark Struberg <[email protected]> >>> To: "[email protected]" > <[email protected]> >>> Cc: >>> Sent: Friday, 27 December 2013, 17:45 >>> Subject: Re: Fwd: Support of Instance<> in OWB >>> >>> >>> >>> Thanks John, we will investigate! >>> >>> LieGrue, >>> strub >>> >>> >>> >>> >>>> ________________________________ >>> >>>> From: John D. Ament <[email protected]> >>>> To: [email protected] >>>> Sent: Friday, 27 December 2013, 15:11 >>>> Subject: Fwd: Support of Instance<> in OWB >>>> >>>> >>>> Hi all, >>>> >>>> I'm cross-posting this from dev@deltaspike to see if anyone has > any >>>> additional thoughts. >>>> >>>> >>>> >>>> ---------- Forwarded message ---------- >>>> From: John D. Ament <[email protected]> >>>> Date: Thu, Dec 26, 2013 at 10:36 PM >>>> Subject: Support of Instance<> in OWB >>>> To: [email protected] >>>> >>>> >>>> Hi all >>>> >>>> I added a new test, FileResourceTest. It fails in OWB, but passes > in >>>> Weld. AFAIK it's supposed to pass in both. >>>> >>>> The one catch I noticed, since it has a similar test >>>> ClasspathResourceTest, is that I'm using Instances/literals vs >>>> annotations. I need to use Instance since the actual file name is >>>> dynamic at runtime. In the test right now, I have this: >>>> >>>> @Inject >>>> @Any >>>> private Instance<InputStream> inputStreamInst; >>>> >>>> @Inject >>>> @Any >>>> private Instance<Properties> propsInst; >>>> >>>> and when I switch to this: >>>> >>>> @Inject >>>> @ExternalResource(storage = >>>> > FileSystemStorage.class,location="/tmp/myconfig.properties") >>>> private InputStream inputStream; >>>> >>>> @Inject >>>> @ExternalResource(storage = >>>> > FileSystemStorage.class,location="/tmp/myconfig.properties") >>>> private Properties props; >>>> >>>> The test works fine (assuming I create the file). I don't > typically >>>> play with OWB that much, but this should be the right format for >>>> Instances, right? Feedback is much appreciated. >>>> >>>> Thanks, >>>> >>>> John >>>> >>>> >>>> >>> >
