Michał Chudy created SLING-4805:
-----------------------------------

             Summary: ResourceResolver should extend Closable interface.
                 Key: SLING-4805
                 URL: https://issues.apache.org/jira/browse/SLING-4805
             Project: Sling
          Issue Type: Improvement
          Components: API, JCR
    Affects Versions: API 2.9.0, JCR Resource 2.5.0
            Reporter: Michał Chudy


While creating {{ResourceResolver}}, we have to remember to close it and code 
looks like that:
{code}
ResourceResolver resourceResolver = null;
try {
        resourceResolver = 
resourceResolverFactory.getServiceResourceResolver(null);
} catch (LoginException e) {
        LOGGER.error("Error during getting instance of ResourceResolver class", 
e);
} finally {
        if (resourceResolver != null) {
                resourceResolver.close();
        }
}
{code}

While making {{ResourceResolver}} additionally extend {{Closable}} (or 
{{AutoClosable}}) interface, we could use try-with-resources Java 7 feature and 
our code would be more concise, elegant, readable.
{code}
try (ResourceResolver resolver = factory.getServiceResourceResolver(null)) {
        //do sth
}
{code}

(Please notice that {{Closable}} is still part of Java 6 API)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to