[ 
https://issues.apache.org/jira/browse/TOMEE-1586?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14546912#comment-14546912
 ] 

Romain Manni-Bucau commented on TOMEE-1586:
-------------------------------------------

[~ngdem] project doesnt build:

{code}
[WARNING] The POM for org.primefaces:primefaces:jar:3.4.2 is missing, no 
dependency information available
[WARNING] The POM for 
org.eclipse.persistence:javax.persistence:jar:2.0.4.v201112200901 is missing, 
no dependency information available
[WARNING] The POM for 
org.eclipse.persistence:org.eclipse.persistence.core:jar:2.3.2 is missing, no 
dependency information available
[WARNING] The POM for 
org.eclipse.persistence:org.eclipse.persistence.jpa:jar:2.3.2 is missing, no 
dependency information available
[WARNING] The POM for 
org.eclipse.persistence:org.eclipse.persistence.jpa.modelgen:jar:2.3.2 is 
missing, no dependency information available
[WARNING] The POM for 
org.eclipse.persistence:org.eclipse.persistence.moxy:jar:2.3.2 is missing, no 
dependency information available
[WARNING] The POM for 
org.eclipse.persistence:org.eclipse.persistence.oracle:jar:2.3.2 is missing, no 
dependency information available
[WARNING] The POM for 
org.eclipse.persistence:org.eclipse.persistence.antlr:jar:2.3.2 is missing, no 
dependency information available
[WARNING] The POM for 
org.eclipse.persistence:org.eclipse.persistence.asm:jar:2.3.2 is missing, no 
dependency information available
{code}

some missing repos I guess, can you fix it?

> CDI Producer Injection Point Divergence against WELD
> ----------------------------------------------------
>
>                 Key: TOMEE-1586
>                 URL: https://issues.apache.org/jira/browse/TOMEE-1586
>             Project: TomEE
>          Issue Type: Bug
>    Affects Versions: 1.7.1
>         Environment: Windows 7, Tomee 1.7.1
>            Reporter: Nuno G. de M
>            Priority: Minor
>             Fix For: 1.7.2
>
>
> In a relative obscure/non-trivial Injection/production scenarion of CDI 
> beans, there is a difference between the Injection Point passed to a producer 
> under WELD bundled with Glassfish 3.1.2.X and Weblogic 12.1.2 vs TomEE 
> open-cdi.
> Please see the zip file provided in the google drive link bellow.
> https://drive.google.com/file/d/0B_dEiNBGUsxqUkVXdWl3bmVXXzQ/view?usp=sharing
> The zip file cotains a .docx and builds on top of the sample project provided 
> from TOMEE-1580 issue.
> Careful with the persistence.xml file of the project since its current commit 
> state it will deploy glassfish 3.1.2 but not to TOmee 1_7_1 due to JNDI Name 
> and Jar-file locaiton elements.
> In any case, the issue is describe in the docx.
> It is not clear if the bug is the implementation of WELD or of OpenCdi.
> In fact the behavior of OpenCDI seems to be more logical - from my point of 
> view - but since the WELD is the reference implementation, you are being 
> assigned this bug.
> TO summarize the issue:
> You will have a @RequestScoped bean being injected a @qualified "Holder bean".
> For this HolderBean there will be a producer.
> And the @Qualifier for the injection willl have an attribute value - e.g. 
> @Qualifier(value="rockBalboa")
> (2) This producer that will provide the HolderInstance will use the 
> BeanManager to create an instance of the "Holder" object tha tis specific fo 
> the qualifier value (rockyBalboa)
> (3) When the BeanManager is creating the Holder object it will try to resolve 
> the @Injection points of the holder.
> Namely there will be an 
> @Iject
> @Qaulifier 
> Instance<SomeInterface>
> Within this holder object.
> (4) The big diffence between WELD and OpenCDI now seems the be the following.
> Each of the Instances that will be iterated over this Instace attribute are 
> created through a second producer.
> And on this second producer the InjectionPoint object is different in WELD 
> and OpenCdi.
> In Weld the injection point has the same charateristics of the Ibjection 
> point passed to the Producer of the Holder object.
> On OpenCDI the injection point has the characterists of the Holder object 
> iself.
> When your code is based on WELD, this has the negative effect that if your 
> code depended on the InjectionPoint in this very specific circunstance to 
> carry the "rockyBalboa" value that existed in the @RequestScoped bean that 
> initially asked for a Holder instance .... well only on Weblogic and 
> Glassfish will this happen.
> On Tomee the producer for the Holder will get it, but not the producer for 
> the nested beans.
> I would request that if this issue belongs to WELD that you forward the bug 
> to them.
> I give low priority to this Bug - since there are programtic ways to make the 
> code work under both implementations. The holder object has knowledge of the 
> original injection point annotation and can therefore force its knowledge of 
> "rockyBalboa" into the underlying beans ....
> But still, code has to be reworked to funciton under both implementations.
> Kindest regards,
> Nuno.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to