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

ASF GitHub Bot commented on WW-4827:
------------------------------------

Github user lukaszlenart commented on the issue:

    https://github.com/apache/struts/pull/153
  
    See these screenshots
    
    #### master
    
![2017-08-01_2119](https://user-images.githubusercontent.com/170103/28842993-f915533e-76ff-11e7-8434-09d24777704f.png)
    
    #### this branch
    
![2017-08-01_2124](https://user-images.githubusercontent.com/170103/28843001-ff0a8e30-76ff-11e7-8c3f-b9be85140241.png)
    
    as you see, on the `master` branch the object isn't fully initialised but 
when `init()` method is called when using this branch, the object got fully 
initialised.
    
    Maybe you have discovered another place where there is some work done in 
setter which should be moved into the `init()` method with the `PostInit` 
interface.
    
    



> Not fully initialized ObjectFactory tries to create beans
> ---------------------------------------------------------
>
>                 Key: WW-4827
>                 URL: https://issues.apache.org/jira/browse/WW-4827
>             Project: Struts 2
>          Issue Type: Bug
>    Affects Versions: 2.5.12
>            Reporter: Aleksandr Mashchenko
>            Priority: Critical
>             Fix For: 2.5.13
>
>
> This leads to issues when properties aren't injected in some cases, for 
> example in custom type converters.
> The problem happens when {{ObjectFactory}} tries to create a bean in the same 
> time not being fully initialized itself (e.g. {{ConverterFactory}} injected 
> before {{Container}}).
> The issue happens more often under linux (all the time basically) than under 
> windows, so it cannot be reproduced 100%. This behavior boils down to the 
> fact that {{clazz.getDeclaredMethods()}} is used to get methods which needs 
> to be injected and {{clazz.getDeclaredMethods()}} returned elements are - 
> _The elements in the array returned are not sorted and are not in any 
> particular order._
> Proposed solution moves Container injection from method to constructor in 
> ObjectFactory -  
> https://github.com/aleksandr-m/struts/commit/6f91d0776a545c911ca4f2875ed9976614711ef9.
> The downside is it isn't backward-compatible, custom object factories must be 
> updated.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to