You are probably right :) Please register an issue and target 2.3.25 as a fix version.
Regards -- Ćukasz + 48 606 323 122 http://www.lenart.org.pl/ 2015-10-15 6:57 GMT+02:00 CRANFORD, CHRIS <chris.cranf...@setech.com>: > In a recent BeanPostProcessor implementation, I noticed our logic was being > invoked twice in both the before and after initialization callbacks for > struts constructed objects like actions, interceptors, etc while normal > constructed Spring beans via component scanning were only being invoked once. > > After debugging in 3.2.24.1, I narrowed the issue down to the > SpringObjectFactory implementation in Xwork2 at lines 194 to 197. It seems > XWork's implementation manually calls the before and after BeanPostProcessor > callbacks. Looking at the Spring source for > AbstractAutowireCapableBeanFactory, it seems initializeBean's implementation > also calls these callback methods too, which is what leads to re-evaluating > the struts constructed objects twice. > > I believe the plugin is based on Spring 3.0.5 (IIRC) and even reviewing the > code base at that release along with the latest 4.2.1 release, both confirm > that initializeBean has always invoked the BeanPostProcessor callbacks > internally and therefore, XWork's implementation really should not worry with > manually invoking them too. > > Is there a technical reason why the SpringObjectFactory is doing this or is > this an oversight? > This just seems like a significant overhead on bean management that could be > avoided, right? > > Thanks, > Chris > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: user-unsubscr...@struts.apache.org > For additional commands, e-mail: user-h...@struts.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org