AEM实例可以处理多少个JCR会话。

时间:2017-03-15 17:31:24

标签: cq5 aem jcr aem-6

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

1 个答案:

答案 0 :(得分:1)

  1. 使用ResourceResolver界面,避免使用Session
  2. 如果为您的服务,Servlet或模型(Sling Model,WCMUse)提供了ResourceResolver,或者您通过改编创建了一个实例:请勿关闭它。
  3. 如果您必须通过ResourceResolverFactory手动创建一个ResourceResolver,它应该是短暂的并且在您完成后关闭。
  4. 同样适用于Session
  5. 示例:

    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();
        }
      }
    }