2

最近我能够看到访问页面加载速度非常慢,并且在 error.log 文件缓存中出现与内存泄漏相关的错误,这让我陷入了一个 AEM 实例可以处理多少个 JCR 会话的问题。?

4

1 回答 1

1
  1. 使用ResourceResolver接口,避免使用Session.
  2. 如果ResourceResolver为您的服务、Servlet 或模型(Sling 模型、WCMUse)提供了一个,或者您通过适配创建了一个实例:不要关闭它。
  3. 如果您必须通过 手动创建 ResourceResolver ResourceResolverFactory,它应该是短暂的并在您完成后关闭。
  4. 同样适用于Session.

例子:

package io.salihovic.florian.examples;

import javax.annotation.CheckForNull;

interface ResourceResolverTemplate {

  @CheckForNull ResourceResolver getResourceResolver();

  default void usage() {
    final ResourceResolver resolver = this.getResourceResolver();
    if (resolver != null) {
      // do something
      resolver.close();
    }
  }
}
于 2017-03-16T13:55:42.027 回答