У меня странные проблемы с использованием пружины и ткачества при загрузке с использованием AspectJ.В одном из моих Apsects я хотел отреагировать на вызов метода «doAuthentication» класса org.springframework.flex.security3.SpringSecurityLoginCommand.Поэтому я создал метод:
@Around("execution(* org.springframework.flex.security3.SpringSecurityLoginCommand.doAuthentication(..))")
public Object aroundDoAuthentication(ProceedingJoinPoint pjp) throws Throwable {
...
Этот аспект сплетен правильно, если я использую агент aspectj-weaver, но игнорируется, если я использую пружинный ткач.К сожалению, я должен использовать ткач пружины, если я хочу правильную интеграцию пружины аспекта.Единственный способ, которым я обнаружил, что мой аспект сплетен, - это сплести его вокруг каждого метода целевого класса и программно отфильтровать вызовы аспектов:
@Around("execution(* org.springframework.flex.security3.SpringSecurityLoginCommand.*(..))")
public Object aroundDoAuthentication(ProceedingJoinPoint pjp) throws Throwable {
final String methodName = pjp.getSignature().getName();
if("doAuthentication".equals(methodName)) {
...
Используя приведенный выше код, мне удалось правильно сплести все, но я не удовлетворен этим, так как это кажется мне большим взломом.
Может ли кто-нибудь объяснить, почему с помощью Spring-Weaver я не могу плести так же, как с aspectj-weaver?
Крис