Ang Li created SCB-1402: --------------------------- Summary: BeanUtils 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
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)