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) {