[ https://issues.apache.org/jira/browse/CURATOR-259?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jordan Zimmerman updated CURATOR-259: ------------------------------------- Description: For Java7+, try-with-resources makes using locks safer. Curator should have a utility for this. Something like: {code} public class SafeLock implements AutoCloseable { private final InterProcessLock lock; private final boolean acquired; public SafeLock(InterProcessLock lock, long timeout, TimeUnit unit) { this.lock = lock; acquired = lock.acquire(timeout, unit); } public void close() throws Exception { if ( acquired ) { lock.release(); } } } {code} was: For Java7+, try-with-resources makes using locks safer. Curator should have a utility for this. Something like: {code} public class SafeLock implements AutoCloseable { private final InterProcessLock lock; private final boolean acquired; public SafeLock(InterProcessLock lock, long timeout, TimeUnit unit) { this.lock = lock; acquired = lock.acquire(timeout, unit); } void close() throws Exception { if ( acquired ) { lock.release(); } } } {code} > Add try-with-resources class for Curator locks > ---------------------------------------------- > > Key: CURATOR-259 > URL: https://issues.apache.org/jira/browse/CURATOR-259 > Project: Apache Curator > Issue Type: Improvement > Components: Recipes > Reporter: Jordan Zimmerman > Priority: Minor > > For Java7+, try-with-resources makes using locks safer. Curator should have a > utility for this. Something like: > {code} > public class SafeLock implements AutoCloseable { > private final InterProcessLock lock; > private final boolean acquired; > public SafeLock(InterProcessLock lock, long timeout, TimeUnit unit) { > this.lock = lock; > acquired = lock.acquire(timeout, unit); > } > public void close() throws Exception { > if ( acquired ) { > lock.release(); > } > } > } > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)