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:32 UTC

svn commit: r1529092 - /karaf/branches/karaf-2.x/main/src/main/java/org/apache/karaf/main/Main.java

Author: gnodet
Date: Fri Oct  4 07:12:32 2013
New Revision: 1529092

URL: http://svn.apache.org/r1529092
Log:
[KARAF-2499] Karaf should exit if the data directory is deleted

Modified:
    karaf/branches/karaf-2.x/main/src/main/java/org/apache/karaf/main/Main.java

Modified: karaf/branches/karaf-2.x/main/src/main/java/org/apache/karaf/main/Main.java
URL: http://svn.apache.org/viewvc/karaf/branches/karaf-2.x/main/src/main/java/org/apache/karaf/main/Main.java?rev=1529092&r1=1529091&r2=1529092&view=diff
==============================================================================
--- karaf/branches/karaf-2.x/main/src/main/java/org/apache/karaf/main/Main.java (original)
+++ karaf/branches/karaf-2.x/main/src/main/java/org/apache/karaf/main/Main.java Fri Oct  4 07:12:32 2013
@@ -1427,6 +1427,7 @@ public class Main {
     }
 
     private void doLock(Properties props) throws Exception {
+        File dataDir = new File(System.getProperty(PROP_KARAF_DATA));
         String clz = props.getProperty(PROPERTY_LOCK_CLASS, PROPERTY_LOCK_CLASS_DEFAULT);
         lock = (Lock) Class.forName(clz).getConstructor(Properties.class).newInstance(props);
         boolean lockLogged = false;
@@ -1439,6 +1440,12 @@ public class Main {
                 setupShutdown(props);
                 setStartLevel(defaultStartLevel);
                 for (;;) {
+                    if (!dataDir.isDirectory()) {
+                        LOG.info("Data directory does not exist anymore, halting");
+                        framework.stop();
+                        System.exit(-1);
+                        return;
+                    }
                     if (!lock.isAlive()) {
                         break;
                     }