Как активировать @Aspect в AEM? - PullRequest
2 голосов
/ 24 апреля 2019

Я работаю с Java-кодом в AEM .

Мы используем Maven, а в pom.xml есть все необходимые зависимости и aspectj-maven-Плагин

Я подготовил аспект с помощью pointcut:

package org.xxx.aop.aspects;

import javax.jcr.Node;
import org.apache.sling.api.SlingHttpServletRequest;
import org.aspectj.lang.*;
import org.aspectj.lang.annotation.*;
import org.slf4j.*;

@Aspect
public class NodeAspect {

  private final Logger LOG = LoggerFactory.getLogger(NodeAspect.class);

  @Pointcut("execution(public * javax.jcr.Node.*(..)")
  public void jcrNodeAccess() {}

  @Around("jcrNodeAccess()")
  public Object jcrNodeMethodCall(ProceedingJoinPoint thisJoinPoint) throws Throwable {
    LOG.info("--- LOG NodeAspect ---");
    Object result = thisJoinPoint.proceed();
    // some code
    // ..

    return result;
  }

Но когда я установил свой пакет в AEM, мой аспект не работает.

Может быть, мой аспект мне нужно будет активировать?

Может быть, эта проблема связана с поведением OSGI (Феликс) в AEM ?

Пожалуйста, предоставьте мне идеи, как это исправить

...