2012-03-19 5 views
2

Перед некоторыми методами (или на данный момент всеми методами) я должен вызвать метод Aspect для регистрации некоторых сообщений. В противном случае мое приложение работает правильно, но ни один из методов класса Aspect не вызван.Конфигурирование AOP с помощью ZK для методов перехвата

Я пробовал одну и ту же точку в той же структуре папок в своем локальном приложении, но когда я пытаюсь включить ее в ZK, у меня возникают проблемы. Я также модифицировал мой application-context.xml для поддержки АОП.

Это мой аспект класс:

package com.mypckg.services.impl; 

import org.aspectj.lang.annotation.AfterReturning; 
import org.aspectj.lang.annotation.Aspect; 
import org.aspectj.lang.annotation.Before; 
import org.aspectj.lang.annotation.Pointcut; 

@Aspect 
public class MyIntercpeter { 

    @Pointcut("execution(* com.mypckg.services.impl.MyService.getStudents(..))") 
    public void performance() { 
    } 

    @Before("performance()") 
    public void doSomethingBeforeExecution() { 
     System.out.println("Before execution method called..."); 


    } 

    @AfterReturning("performance()") 
    public void doSomethingAfterExecution() { 
     System.out.println("After execution method called..."); 

    } 
} 

Модификации я сделал в application-context.xml являются

<beans ......... 

    xmlns:aop="http://www.springframework.org/schema/aop" 

    xsi:schemaLocation=" 
      .......... 
      http://www.springframework.org/schema/aop 
    http://www.springframework.org/schema/aop/spring-aop.xsd"> 


..... 

<aop:aspectj-autoproxy /> 
<context:annotation-config /> 

ли я что-то отсутствует? Заранее спасибо.

ответ

0

Похоже, вы пропустили очевидную вещь: вы забыли объявить бобы весной config?

С весной документов:

Spring AOP поддерживает только выполнение метода точек соединения для Spring бобов, так что вы можете думать о срезе точек, как соответствие выполнения методов на пружину фасоли.

http://static.springsource.org/spring/docs/2.0.x/reference/aop.html

Вы можете объявить свои бобы с аннотациями или конфигурации.

Также было бы лучше разместить версию весны, которую вы используете (я предположил, что это 2.0.x).

+0

Я объявил все бобы в файле конфигурации весны. Я дал только измененную часть файла контекстного приложения весны. Мы используем Spring 2.5 –

+0

Просто отметим: вы можете использовать perf4j, у которого уже есть аннотации и обработчик аннотации для измерения производительности. [Http://perf4j.codehaus.org/devguide.html#Unobtrusive_Logging_with_Profiled_and_AOP](http://perf4j.codehaus.org/devguide.html#Unobtrusive_Logging_with_Profiled_and_AOP). –

+0

Вы сконфигурировали резонатор весны в конфигурации zk.xml? –

Смежные вопросы