You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openwebbeans.apache.org by "Rohit Dilip Kelapure (Resolved) (JIRA)" <ji...@apache.org> on 2012/02/15 05:01:59 UTC

[jira] [Resolved] (OWB-645) InjectionPoint is null when using @Produces. NullPointerException caused by CDI container providing a null InjectionPoint into a producer method.

     [ https://issues.apache.org/jira/browse/OWB-645?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rohit Dilip Kelapure resolved OWB-645.
--------------------------------------

       Resolution: Fixed
    Fix Version/s: 1.1.4
         Assignee: Rohit Dilip Kelapure  (was: Gurkan Erdogdu)

checked in fixes and tests for this issue
                
> InjectionPoint is null when using @Produces. NullPointerException caused by CDI container providing a null InjectionPoint into a producer method.
> -------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: OWB-645
>                 URL: https://issues.apache.org/jira/browse/OWB-645
>             Project: OpenWebBeans
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.1.3, 1.1.2, 1.0.0, 1.1.0
>         Environment: any platform 
>            Reporter: Rohit Dilip Kelapure
>            Assignee: Rohit Dilip Kelapure
>              Labels: InjectionPoint
>             Fix For: 1.1.4
>
>   Original Estimate: 72h
>  Remaining Estimate: 72h
>
> The CDI container must provide a bean with scope @Dependent, bean type InjectionPoint and qualifier @Default, allowing dependent beans to obtain information about the injection point
> to which they belong. In certain circumstances this InjectionPoint is null or returns the wrong information about the injection point to which they belong.
> This is a two part problem
> 1. A bean with scope @Dependent may inject an instance of InjectionPoint and access metadata relating to the injection point to which it belongs. This instance of InjectionPoint is
> null when the @Inject of the dependent bean is in an EJB. 
> 2. CDI container uses ThreadLocals to track the current InjectionPoint. When multiple injection points are interleaved, the CDI container does not correctly track the state of of the
> InjectionPoint's such that sometimes the most deeply nested InjectionPoint would still be on the thread local when it shouldn't be.
> The fix to the second problem is remedied by keeping a stack of injection points. 
> The fix has MAY now  cause the InjectionPoint to be  null in cases where earlier we wouldn't have before.
> CDI container needs to be  fixed to handle InjectionPoint injections in Producer methods and interleaved injections.
> See Reference: http://www-01.ibm.com/support/docview.wss?uid=swg1PM51802

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira