1

我正在寻找这个问题的答案,无论是消极的还是积极的都找不到。

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

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

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

提前致谢。

4

1 回答 1

3

模型的工作方式在 Sling Request 或 Resource 的范围内,在任何一种情况下 ResourceResolver 都在 request 的范围内,不需要显式处理它。它与请求提交一起处理。
如果您显式关闭从请求或资源中获取的 slingModel 中的资源解析器,则会导致 ResponseAlreadyCommited 或 IllegalStateException。

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

于 2016-07-12T15:21:41.413 回答