Как отлаживать Spring AOP - PullRequest
       22

Как отлаживать Spring AOP

12 голосов
/ 28 февраля 2011

У меня проблема с Spring AOP, который не связывает аспект со всеми методами, которые он должен (на мой взгляд) (см. Этот вопрос для получения дополнительной информации о корневой проблеме: Spring AOP игнорирует некоторые методы Hessian Service ).

Как я могу отлаживать, какие методы и экземпляры объединяются с каким аспектом? Есть ли что-то вроде подробного флага для Spring AOP, который дает эту информацию?

1 Ответ

12 голосов
/ 28 февраля 2011

В классах Spring AOP, похоже, не слишком много журналирующего кода, но ...

В случае, если Spring AOP решит использовать Cglib для создания прокси, есть одна строка, которая может вам помочь:

    // in org.springframework.aop.framework.Cglib2AopProxy.getProxy(ClassLoader)
    if (logger.isDebugEnabled()) {
        logger.debug("Creating CGLIB2 proxy: target source is " + this.advised.getTargetSource());
    }

Подобный пример может пригодиться при использовании прокси-серверов JDK:

    // in org.springframework.aop.framework.JdkDynamicAopProxy.getProxy(ClassLoader)
    if (logger.isDebugEnabled()) {
        logger.debug("Creating JDK dynamic proxy: target source is " + this.advised.getTargetSource());
    }

Просто попробуйте включить ведение журнала уровня DEBUG для этих двух классов и посмотрите, что получится.

...