struts-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vasiliy Gagin (JIRA)" <>
Subject [jira] Commented: (WW-3127) Autoware fails on proxied objects
Date Fri, 15 May 2009 02:11:42 GMT


Vasiliy Gagin commented on WW-3127:

Statement "all Spring beans are proxies" is wrong in general. They are proxies only if some
post-processor "proxied" them. I did not have much experience with CGLIB.
My guess is that CGLIB does not create a proxy class instead it extends class. I might be
completely wrong on this one. But if I'm right then the autowiring will work fine for CGLIB

I just realized that both applyBeanPostProcessorsBeforeInitialization and applyBeanPostProcessorsAfterInitialization
can return proxies.
Method autowireBeanProperties which is subsequently called expects "pure" bean.

I debugged through one of my applications and found out that all of the actions in my case
are "non-proxied". At least from Spring point of view. Struts creates it's own proxies to
them. In my latest app we use "<tx:annotation-driven> and I was playing with @Transaction
on the action. I'm guessing that combination caused Spring to proxy the Action. And autowiring

> Autoware fails on proxied objects
> ---------------------------------
>                 Key: WW-3127
>                 URL:
>             Project: Struts 2
>          Issue Type: Bug
>          Components: Plugin - Spring
>    Affects Versions: 2.1.6
>            Reporter: Vasiliy Gagin
> com.opensymphony.xwork2.spring.SpringObjectFactory#buildBean method calls autoWiringFactory.applyBeanPostProcessorsAfterInitialization()
> In some cases this method can return a JDK Proxy instead of action. Following call to
autoWireBean method attempts to autowire proxy itself instead of the action.
> As a result the action remains "not-wired".
> May be autowiring should happen before applying post processors "AfterInitialization".

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

View raw message