最近能够看到访问页面加载速度非常慢且出错.log文件缓存,内存泄漏相关错误,这让我陷入了一个问题,AEM实例可以处理多少个JCR会话。?
- 使用
ResourceResolver
界面,避免使用Session
。 - 如果向服务、Servlet 或模型(Sling Model、WCMUse(提供了
ResourceResolver
,或者您通过自适应创建了一个实例:不要关闭它。 - 如果您必须通过
ResourceResolverFactory
手动创建资源解析程序,它应该是短暂的,并在完成后关闭。 - 这同样适用于
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();
}
}
}