struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Lukasz Lenart <>
Subject Re: Spring BeanPostProcessor called twice for Struts managed beans
Date Thu, 15 Oct 2015 05:56:24 GMT
You are probably right :) Please register an issue and target 2.3.25
as a fix version.

+ 48 606 323 122

2015-10-15 6:57 GMT+02:00 CRANFORD, CHRIS <>:
> 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, 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,
> Thanks,
> Chris
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message