如何在AEM中激活@Aspect?

时间:2019-04-24 09:39:36

标签: java osgi aem aspectj cq5

我在 AEM 中使用Java代码。

我们使用maven,在 pom.xml 中存在所有需要的依赖项,并且 aspectj-maven-plugin

我准备了切入点的方面:

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中安装软件包时,我的方面不起作用。

也许我需要激活我的方面?

此问题可能与 AEM 中的 OSGI(felix)的行为有关吗?

请向我提供解决方法

0 个答案:

没有答案