Проверьте выражение AOP pointcut - PullRequest
1 голос
/ 14 ноября 2011

Мне нужно сделать проверку в моем выражении pointcut, как. У меня есть этот боб:

<bean id="logConfig"
    class="com.celfocus.ufe.base.logging.domains.LoggingConfiguration">
    <property name="logDetails" value="STANDARD" />
    <property name="logLvl" value="COMPLETE" />
</bean>

В моем выражении aop pointcut мне нужно проверить, чтобы проверить значение свойства bean-компонента "logLvl".

<aop:config>
    <aop:aspect ref="ufeLogger">
        <aop:pointcut id="complete" expression="execution(* *.*(..)) and bean(logConfig)==COMPLETE" />
        <aop:before pointcut-ref="complete" method="logBefore" />
    </aop:aspect>
</aop:config>

Мое выражение не работает ... что я могу изменить, чтобы выполнить эту проверку?

1 Ответ

1 голос
/ 14 ноября 2011

Что заставляет вас думать, что and bean(logConfig)==COMPLETE является действительным pointcut?Spring AOP использует синтаксис pointpect AspectJ, никаких дополнений Spring.Кроме того, вы даже не ссылаетесь на свойство logLvl, так должно ли это работать?

К сожалению, для достижения этого вам необходимо реализовать проверку вручную.Это не так навязчиво: просто введите logConfig в ufeLogger аспект и добавьте простое условие в метод logBefore().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...