我从ResourceResolverFactory获取ResourceResolver对象,即创建此resourceResolver并且我正在适应Session。我们是否需要关闭资源解析器和会话两者?
Session session = resourceResolver.adaptTo(Session.class);
我需要关闭两个,解析器和会话或关闭一个就足够了吗?
finally {
if (session != null && session.isLive()) {
session.logout();
}
if (resourceResolver != null && resourceResolver.isLive()) {
resourceResolver.close();
}
}
这个问题是关于“我们应该关闭了两个”,而不是其关闭第一
所有权规则适用。你打开它 - >你关闭它!通过[规则](https://cqdump.wordpress.com/2013/07/23/cq-development-patterns-sling-resourceresolver-and-jcr-sessions/)进行澄清 –
可能的重复[应该关闭在关闭资源解析器之前的会话](https://stackoverflow.com/questions/37880336/should-i-close-the-session-before-closing-the-resource-resolver) –