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

Vasiliy Gagin commented on WW-3127:
-----------------------------------

Thank you for trying to help.
Better solution for my particular problem (I need JPA transaction) is to create 
interceptor and stick it somewhere before parameters interceptor.
I reported this problem only to let you guys know about it.

I checked the link you gave me. We do not use <aop:*> directly. Not sure how to 
force CGLIB. THough I already realized that I was wrong about CGLIB. Apparently 
it really creates proxy in front of the actual bean. So though unconfirmed I 
think CGLIB proxy will fail too.

In addition to that, I just figured out that Struts does not like actions to be 
proxied, period.  OGNL is not getting properties from JDK proxied beans unless 
getters are part of interface. It would be nice to teach Struts to "unproxy" 
JDK proxies when evaluating expressions.

Anyway. Not sure if something can or should be done until Struts will be able 
to handle JDK proxies.

> Autoware fails on proxied objects
> ---------------------------------
>
>                 Key: WW-3127
>                 URL: https://issues.apache.org/struts/browse/WW-3127
>             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() method.
> 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.

Reply via email to