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)

Reply via email to