Transactional attribute is not resolved on CgLib proxies created by FactoryBeans [SPR-7448] #12106
When FactoryBean creates CgLib proxy via programmatic Spring proxy support (ie. ProxyFactory),
See Jurgen Hoeller expression: https://jira.springframework.org/browse/SPR-975?page=com.atlassian.jira.plugin.system.issuetabpanels%253Aall-tabpanel
There is also open bug on CgLib - but I think it will never get resolved as the CgLib seems quite abadoned now: http://sourceforge.net/tracker/?func=detail&aid=2255414&group_id=56933&atid=482371
There is very simple solution that would address this issue (documented in attached file).
Issue is described in this blog post http://blog.novoj.net/2010/08/10/when-does-your-spring-transactional-attribute-apply-on-cglib-proxies/ in more detail.
Proposed solution is available at (see commentaries in referenced article): http://github.com/novoj/SpringTransactionTest
Referenced from: commits 99733ae
The text was updated successfully, but these errors were encountered:
Juergen Hoeller commented
This is a rather unusual scenario but you got a point there, so as of Spring 3.0.4, we introspect the superclass when given a CGLIB proxy as the target class. This has been implemented in the form of a ClassUtils.getUserClass call in AbstractFallbackTransactionAttributeSource.