/** * Releases and removes the lock file. */ public void release() { try { try { if (fl != null) fl.release(); } finally { if (fc != null) fc.close(); if (raf != null) raf.close(); } } catch (IOException ex) { logger.warn("I/O exception while releasing lock file: " + lockFile, ex); } finally { if (lockFile != null) { lockFile.delete(); unlockInternal(lockFile); lockFile = null; } fl = null; fc = null; raf = null; } }