Подтвердить что ты не робот

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

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

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

4b9b3361

Ответ 1

В классах 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 для этих двух классов и посмотреть, что выводит.