You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by gn...@apache.org on 2013/10/04 09:12:14 UTC
svn commit: r1529091 -
/karaf/branches/karaf-2.x/main/src/main/java/org/apache/karaf/main/SimpleFileLock.java
Author: gnodet
Date: Fri Oct 4 07:12:14 2013
New Revision: 1529091
URL: http://svn.apache.org/r1529091
Log:
[KARAF-2500] Karaf should monitor the lock file existence
Modified:
karaf/branches/karaf-2.x/main/src/main/java/org/apache/karaf/main/SimpleFileLock.java
Modified: karaf/branches/karaf-2.x/main/src/main/java/org/apache/karaf/main/SimpleFileLock.java
URL: http://svn.apache.org/viewvc/karaf/branches/karaf-2.x/main/src/main/java/org/apache/karaf/main/SimpleFileLock.java?rev=1529091&r1=1529090&r2=1529091&view=diff
==============================================================================
--- karaf/branches/karaf-2.x/main/src/main/java/org/apache/karaf/main/SimpleFileLock.java (original)
+++ karaf/branches/karaf-2.x/main/src/main/java/org/apache/karaf/main/SimpleFileLock.java Fri Oct 4 07:12:14 2013
@@ -30,6 +30,7 @@ public class SimpleFileLock implements L
private static final Logger LOG = Logger.getLogger(SimpleFileLock.class.getName());
private static final String PROPERTY_LOCK_DIR = "karaf.lock.dir";
private static final String PROP_KARAF_BASE = "karaf.base";
+ private File file;
private RandomAccessFile lockFile;
private FileLock lock;
@@ -46,8 +47,8 @@ public class SimpleFileLock implements L
props.setProperty(PROPERTY_LOCK_DIR, System.getProperty(PROP_KARAF_BASE));
}
- File base = new File(props.getProperty(PROPERTY_LOCK_DIR));
- lockFile = new RandomAccessFile(new File(base, "lock"), "rw");
+ file = new File(props.getProperty(PROPERTY_LOCK_DIR), "lock");
+ lockFile = new RandomAccessFile(file, "rw");
} catch (IOException ioe){
throw new RuntimeException("Karaf can't startup, make sure the log file can be accessed and written by the user starting Karaf : " + ioe.getMessage());
} catch (Exception e){
@@ -73,7 +74,7 @@ public class SimpleFileLock implements L
}
public boolean isAlive() throws Exception {
- return lock != null;
+ return lock != null && lock.isValid() && file.exists();
}
private static File getKarafLock(File lock,Properties props) {