synchronized void delete() { try { if (raf.getChannel().isOpen()) { fileLock.release(); raf.close(); } } catch (IOException e) { logger.warn(e.toString(), e); } revokeLock(); } };
synchronized void delete() { try { if (raf.getChannel().isOpen()) { fileLock.release(); raf.close(); } } catch (IOException e) { logger.warn(e.toString(), e); } revokeLock(); } };
private void removeInvalidLock(File lockDir) { try { boolean revokeLock = false; File lockedFile = new File(lockDir, LOCK_FILE_NAME); RandomAccessFile raf = new RandomAccessFile(lockedFile, "rw"); try { FileLock fileLock = raf.getChannel().tryLock(); if (fileLock != null) { logger.warn("Removing invalid lock {}", getLockedBy()); fileLock.release(); revokeLock = true; } } catch (OverlappingFileLockException exc) { // lock is still valid } finally { raf.close(); } if (revokeLock) { revokeLock(); } } catch (IOException e) { logger.warn(e.toString(), e); } }
private void removeInvalidLock(File lockDir) { try { boolean revokeLock = false; File lockedFile = new File(lockDir, LOCK_FILE_NAME); RandomAccessFile raf = new RandomAccessFile(lockedFile, "rw"); try { FileLock fileLock = raf.getChannel().tryLock(); if (fileLock != null) { logger.warn("Removing invalid lock {}", getLockedBy()); fileLock.release(); revokeLock = true; } } catch (OverlappingFileLockException exc) { // lock is still valid } finally { raf.close(); } if (revokeLock) { revokeLock(); } } catch (IOException e) { logger.warn(e.toString(), e); } }