Эта проблема может быть простой, но я просто не могу найти решение. Я использую Spring AOP, и в настоящее время я только пытаюсь получить ссылку на прокси-объект, созданный самой картой. Я следовал инструкциям, предоставленным this нить, но я все еще получаю следующее исключение:Невозможно получить доступ к прокси-объекту Spring AOP
Исключение в нити «основной» java.lang.IllegalStateException: Не удается найти текущий прокси: установить свойство «exposeProxy» на Посоветовали ' true ', чтобы сделать его доступным.
Вот требуемая запись в моем springContext.xml:
<aop:aspectj-autoproxy expose-proxy="true"/>
Это мой аспект определения:
@Aspect
public class DynamicAspect {
@Pointcut("execution(* addition.aop.Actor.play(..))")
public void play() {
}
@Before("play()")
public void directorGivesInstructions() {
System.out.println("Director: Light, camera, action!");
}
Основной метод, где все проходит тестирование:
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext(...);
Actor actor = (Actor) context.getBean("actor");
actor.play();
}
Это метод класса Actor, который вызывает исключение:
public void play() {
AopContext.currentProxy();
System.out.println("Actor starts playing his role...");
}
Аспект сплетается и называется должным образом.
спасибо!