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

Daniel Kulp resolved CXF-1192.
------------------------------

       Resolution: Fixed
    Fix Version/s: 2.0.4

> Jsr250BeanPostProcessor, non reentrant ResourceInjector results in 
> IllegalArgumentException
> -------------------------------------------------------------------------------------------
>
>                 Key: CXF-1192
>                 URL: https://issues.apache.org/jira/browse/CXF-1192
>             Project: CXF
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.0.3
>            Reporter: Gary Tully
>            Assignee: Daniel Kulp
>            Priority: Minor
>             Fix For: 2.0.4
>
>
> The Jsr250BeanPostProcessor[1], uses a single instance of the  non reentrant 
> ResourceInjector. If the bean has two postConstruct methods and the first 
> results in another bean creation which has a postConstruct method we have 
> trouble. For a postConstruct method, the ResourceInjector sets a Target 
> reference member variable and invokes the method. If the postConstrcut method 
> results in another bean being created that has a postConstrcut annotation the 
> single ResourceInjector gets it's target reference changed and the result is 
> an IllegalArgumentException on calling a subsequent postConstruct method.
> The simplest fix is to have the Jsr250BeanPostProcessor use a new 
> ResourceInjector for every bean.
> The scenario that showed this bug has been worked around so I don't have an 
> easy test case but one can be fabricated around the spring tests in core by 
> following the description and adding the  Jsr250BeanPostProcessor to the 
> configuration.
> [1] 
> http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/spring/Jsr250BeanPostProcessor.java?view=markup

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to