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)