[ https://issues.apache.org/jira/browse/SCB-1402?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ang Li resolved SCB-1402. ------------------------- Resolution: Fixed solved, see [https://github.com/apache/servicecomb-java-chassis/pull/1281] > BeanUtils.getImplClassFromBean can not return correctly info in cglib proxy > situation > ------------------------------------------------------------------------------------- > > Key: SCB-1402 > URL: https://issues.apache.org/jira/browse/SCB-1402 > Project: Apache ServiceComb > Issue Type: Improvement > Components: Java-Chassis > Affects Versions: java-chassis-1.2.1 > Reporter: Ang Li > Assignee: Ang Li > Priority: Major > Time Spent: 20m > Remaining Estimate: 0h > > I found a problem using > org.apache.servicecomb.foundation.common.utils.BeanUtils#getImplClassFromBean. > If the @param bean is a cgLib proxy subclass bean, the getImplClassFromBean > method will return null instead of super class which is expected. To make the > issure more clearly, I created a bean class as following: > *static class* TestBean{ > > } > > *static class* TestBean$$TestBeanByCGLIB$$e1a36bab *extends* TestBean > *implements* SpringProxy { > > } > The case is to simulate a bean class proxied by cglib proxy.A test case > provided as following and the case is not past. > @Test > *public void* testGetImplClassFromBeanfromCglib(){ > TestBean testBeanByCGLIB = *new* TestBean$$TestBeanByCGLIB$$e1a36bab(); > Assert._assertEquals_(TestBean.*class*, > BeanUtils._getImplClassFromBean_(testBeanByCGLIB)); > } > This matters because cglib proxy can be used while using serviceComb > framework and I think just a few lines of code changing can fix this issue. -- This message was sent by Atlassian JIRA (v7.6.14#76016)