struts-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (WW-4827) Not fully initialized ObjectFactory tries to create beans
Date Tue, 01 Aug 2017 19:29:00 GMT

    [ 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)

Mime
View raw message