You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by hk...@apache.org on 2013/02/15 02:33:48 UTC

svn commit: r1446422 - in /karaf/branches/karaf-2.3.x/main/src/main/java/org/apache/karaf/main: BootstrapLogManager.java DefaultJDBCLock.java Main.java SimpleFileLock.java

Author: hkesler
Date: Fri Feb 15 01:33:47 2013
New Revision: 1446422

URL: http://svn.apache.org/r1446422
Log:
karaf-1748: added exception handling so that on startup, if the log file is unavailable or permission is denied, a user friendly message will be presented

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

Modified: karaf/branches/karaf-2.3.x/main/src/main/java/org/apache/karaf/main/BootstrapLogManager.java
URL: http://svn.apache.org/viewvc/karaf/branches/karaf-2.3.x/main/src/main/java/org/apache/karaf/main/BootstrapLogManager.java?rev=1446422&r1=1446421&r2=1446422&view=diff
==============================================================================
--- karaf/branches/karaf-2.3.x/main/src/main/java/org/apache/karaf/main/BootstrapLogManager.java (original)
+++ karaf/branches/karaf-2.3.x/main/src/main/java/org/apache/karaf/main/BootstrapLogManager.java Fri Feb 15 01:33:47 2013
@@ -40,7 +40,7 @@ public class BootstrapLogManager {
 
     private static Properties configProps;
 
-    public static synchronized Handler getDefaultHandler () {
+    public static synchronized Handler getDefaultHandler () throws Exception {
         if (handler != null) {
             return handler;
         }
@@ -79,13 +79,8 @@ public class BootstrapLogManager {
         }
 
 
-        try {
-            handler = new BootstrapLogManager.SimpleFileHandler(log);
-        } catch (IOException e) {
-            e.printStackTrace();
-        }
+        return new BootstrapLogManager.SimpleFileHandler(log);
 
-        return handler;
     }
 
     public static void setProperties(Properties configProps) {

Modified: karaf/branches/karaf-2.3.x/main/src/main/java/org/apache/karaf/main/DefaultJDBCLock.java
URL: http://svn.apache.org/viewvc/karaf/branches/karaf-2.3.x/main/src/main/java/org/apache/karaf/main/DefaultJDBCLock.java?rev=1446422&r1=1446421&r2=1446422&view=diff
==============================================================================
--- karaf/branches/karaf-2.3.x/main/src/main/java/org/apache/karaf/main/DefaultJDBCLock.java (original)
+++ karaf/branches/karaf-2.3.x/main/src/main/java/org/apache/karaf/main/DefaultJDBCLock.java Fri Feb 15 01:33:47 2013
@@ -61,8 +61,12 @@ public class DefaultJDBCLock implements 
     int timeout;
 
     public DefaultJDBCLock(Properties props) {
-        LOG.addHandler(BootstrapLogManager.getDefaultHandler());
-        
+        try {
+            LOG.addHandler(BootstrapLogManager.getDefaultHandler());
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
         this.url = props.getProperty(PROPERTY_LOCK_URL);
         this.driver = props.getProperty(PROPERTY_LOCK_JDBC_DRIVER);
         this.user = props.getProperty(PROPERTY_LOCK_JDBC_USER, DEFAULT_USER);

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=1446422&r1=1446421&r2=1446422&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 Feb 15 01:33:47 2013
@@ -501,6 +501,10 @@ public class Main {
             final Main main = new Main(args);
             try {
                 main.launch();
+            } catch (IOException ioe){
+                main.destroy();
+                main.setExitCode(-1);
+                System.err.println("Karaf can't startup, make sure the log file can be accessed and written by the user starting Karaf : " + ioe.getMessage());
             } catch (Throwable ex) {
                 main.destroy();
                 main.setExitCode(-1);

Modified: karaf/branches/karaf-2.3.x/main/src/main/java/org/apache/karaf/main/SimpleFileLock.java
URL: http://svn.apache.org/viewvc/karaf/branches/karaf-2.3.x/main/src/main/java/org/apache/karaf/main/SimpleFileLock.java?rev=1446422&r1=1446421&r2=1446422&view=diff
==============================================================================
--- karaf/branches/karaf-2.3.x/main/src/main/java/org/apache/karaf/main/SimpleFileLock.java (original)
+++ karaf/branches/karaf-2.3.x/main/src/main/java/org/apache/karaf/main/SimpleFileLock.java Fri Feb 15 01:33:47 2013
@@ -48,7 +48,9 @@ public class SimpleFileLock implements L
 
             File base = new File(props.getProperty(PROPERTY_LOCK_DIR));
             lockFile = new RandomAccessFile(new File(base, "lock"), "rw");
-        } catch (IOException e) {
+        } 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){
             throw new RuntimeException("Could not create file lock", e);
         }
     }