AEM、Sling 模型和资源解析器

AEM, Sling Models and Resource Resolver

我正在寻找这方面的答案,但找不到正面或负面的答案。

如果我们通过 sling 模型注入获得 ResourceResolver 的实例,谁负责关闭该资源解析器。我们必须关闭它,还是 sling 模型框架拥有资源解析器并为我们处理这个问题?

简而言之,我们是在控制资源解析器的生命周期还是 Sling 模型?

我问的是因为我发现没有任何 Sling 模型代码示例会关闭资源解析器,而且似乎没有文章提到这一点。

提前致谢。

模型的工作方式在 Sling Request 或 Resource 的范围内,无论哪种情况,ResourceResolver 都在请求的范围内,不需要对其进行显式处理。它与请求提交一起处理。
如果您明确关闭从请求或资源中获得的 slingModel 资源解析器,它将导致 ResponseAlreadyCommited 或 IllegalStateException。

您应该担心关闭 resourceResolver 的唯一情况是您从 ResourceResolverFactory 明确创建了一个。