import java.nio.file.FileVisitOption;
import java.nio.file.FileVisitResult;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.SimpleFileVisitor;
import java.nio.file.FileVisitOption;
import java.nio.file.FileVisitResult;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.SimpleFileVisitor;
import java.nio.file.attribute.BasicFileAttributes;
import java.util.EnumSet;
import java.util.Properties;
import java.nio.file.attribute.BasicFileAttributes;
import java.util.EnumSet;
import java.util.Properties;
- lockFileChannel = lockFile.getFileSystem().provider().newFileChannel(lockFile,
- EnumSet.of(StandardOpenOption.CREATE, StandardOpenOption.WRITE));
-
- lock = lockFileChannel.tryLock();
+ raLockFile = new RandomAccessFile(lockFile.toFile(), "rw");
+ lock = raLockFile.getChannel().tryLock();
isRunning = true;
} catch (IOException e) {
LOGGER.error("Failed to start database at " + folder.toAbsolutePath(), e);
isRunning = true;
} catch (IOException e) {
LOGGER.error("Failed to start database at " + folder.toAbsolutePath(), e);
- safeLoggingClose(lockFileChannel, lockFile);
+ safeLoggingClose(raLockFile, lockFile);
+ throw new ProCoreException("Failed to start database at " + folder.toAbsolutePath(), e);