[ 
https://issues.apache.org/jira/browse/SLING-4805?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Carsten Ziegeler resolved SLING-4805.
-------------------------------------
    Resolution: Fixed

The resource resolver interface now extends Closeable

> ResourceResolver should extend Closable interface.
> --------------------------------------------------
>
>                 Key: SLING-4805
>                 URL: https://issues.apache.org/jira/browse/SLING-4805
>             Project: Sling
>          Issue Type: Improvement
>          Components: API
>    Affects Versions: API 2.9.0
>            Reporter: MichaƂ Chudy
>            Assignee: Carsten Ziegeler
>             Fix For: API 2.10.0
>
>
> 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