Throw exception when server startup fails #5812
[taxeditor.git] / eu.etaxonomy.taxeditor.webapp / src / main / java / eu / etaxonomy / taxeditor / webapp / CDMServer.java
index 98e68a5d4c080b84f09e38fe1b2ab6f883c9184e..76ed34164b2d574753cff7a87cf5b16a88b5862b 100644 (file)
@@ -106,6 +106,7 @@ public class CDMServer {
         WebAppContext webapp = new WebAppContext();
         webapp.setContextPath(contextPath);
         webapp.setWar(warFile.getAbsolutePath());
+        webapp.setThrowUnavailableOnStartupException(true);
 
         server.setHandler(webapp);
     }
@@ -183,7 +184,13 @@ public class CDMServer {
                     server.start();
                     server.join();
                 } catch (Throwable t) {
-                    cdmServerError.handleError(t);
+                    //wait for 1sec to get the right order of login dialog and error
+                    //message when connection fails
+                    try {
+                        Thread.sleep(1000);
+                    } catch (InterruptedException e) {
+                    }
+                    cdmServerError.handleError(new RuntimeException("Error during CDM server startup", t));
                 }
             }
         };
@@ -204,6 +211,10 @@ public class CDMServer {
         return server.isStarted();
     }
 
+    public boolean isFailed() {
+        return server.isFailed();
+    }
+
     public void stop() throws Exception {
         server.stop();
         server.destroy();