¿Cómo combinar los proxies CGLIB y JDK en los archivos de configuración de Spring?

Este hilo está relacionado con un problema que estoy encontrandoAquí con respecto a las necesidades de acceso a métodos protegidos de una clase aconsejada.. Estoy usando Spring 3.0.6, y he creado un aspecto de perfilado de Spring que estoy aplicando a un número significativo de beans utilizando proxies JDK.

Sin embargo, debido a la necesidad de acceder a métodos protegidos en un bean en particular, me gustaría recomendarlo utilizando CGLIB. Todos los demás beans me gustaría seguir utilizando los proxy JDK.

Estoy utilizando una combinación de anotaciones y configuración xml, pero este aspecto particular se define en la configuración XML.

Se que hay<aop:scoped-proxy> Etiqueta, pero por lo que puedo decir, eso se aplica a todos los aspectos.

¿Hay alguna forma de definir para un solo aspecto usar CGLIB en su lugar?

<code><aop:config>
    <aop:aspect id="Profiler" ref="lendingSimulationServiceProfilerInterceptor">
        <!-- info -->
        <aop:around method="infoProfiler"
                    pointcut="execution(* com.cws.cs.lendingsimulationservice.service.LendingSimulationServiceImpl.calculate*(..))"  />

        <!-- debug -->
        <aop:around method="infoProfiler"
                    pointcut="execution(* com.cws.cs.lendingsimulationservice.process.LendingSimulationProcessImpl.calculate(..))"  />

        <aop:around method="infoProfiler"
                    pointcut="execution(* com.blaze.BlazeEngine.invokeService(..))"  />

        <!-- trace -->
        <aop:around method="traceProfiler" 
                    pointcut="execution(* com.calculator.dao.impl.LendingSimulationDaoImpl.*(..))"  />

        <!-- NEED TO DEFINE THIS PARTICULAR ASPECT AS CGLIB -->
        <aop:around method="traceProfiler" 
                    pointcut="execution(* com.cws.cs.lendingsimulationservice.util.pool.JAXBPoolImpl.*(..))"    />
    </aop:aspect>
</aop:config>
</code>

He intentado dividir la configuración en dos, y para una configuración especifiquetarget-class="true" y el otrotarget-class="false", pero parece aplicar CGLIB a todos en ese punto.

¿Hay alguna forma de lograr esto?

Gracias,

Eric

Respuestas a la pregunta(1)

Su respuesta a la pregunta