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:13:01 UTC

svn commit: r1529093 - /karaf/branches/karaf-2.3.x/main/src/main/java/org/apache/karaf/main/Main.java

Author: gnodet
Date: Fri Oct  4 07:13:01 2013
New Revision: 1529093

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

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

Modified: karaf/branches/karaf-2.3.x/main/src/main/java/org/apache/karaf/main/Main.java
URL: http://svn.apache.org/viewvc/karaf/branches/karaf-2.3.x/main/src/main/java/org/apache/karaf/main/Main.java?rev=1529093&r1=1529092&r2=1529093&view=diff
==============================================================================
--- karaf/branches/karaf-2.3.x/main/src/main/java/org/apache/karaf/main/Main.java (original)
+++ karaf/branches/karaf-2.3.x/main/src/main/java/org/apache/karaf/main/Main.java Fri Oct  4 07:13:01 2013
@@ -1390,6 +1390,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;
@@ -1402,6 +1403,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;
                     }