]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-7485 specifically handle MessageException in PlatformServletContextListener
authorSébastien Lesaint <sebastien.lesaint@sonarsource.com>
Mon, 20 Feb 2017 17:36:54 +0000 (18:36 +0100)
committerSébastien Lesaint <sebastien.lesaint@sonarsource.com>
Fri, 24 Feb 2017 19:27:07 +0000 (20:27 +0100)
no printStackTrace is done on MessageException, instead the exception's message is displayed inline

server/sonar-server/src/main/java/org/sonar/server/platform/web/PlatformServletContextListener.java

index 47bc8fee65245f285f68b4af805d3e580d0ae765..36dc9ccdde937c5dffdcaca61923947a6719047d 100644 (file)
@@ -25,10 +25,10 @@ import java.util.Properties;
 import javax.servlet.ServletContext;
 import javax.servlet.ServletContextEvent;
 import javax.servlet.ServletContextListener;
+import org.sonar.api.utils.log.Loggers;
 import org.sonar.server.platform.Platform;
 
 public final class PlatformServletContextListener implements ServletContextListener {
-
   static final String STARTED_ATTRIBUTE = "sonarqube.started";
 
   @Override
@@ -44,9 +44,10 @@ public final class PlatformServletContextListener implements ServletContextListe
       Platform.getInstance().init(props, servletContext);
       Platform.getInstance().doStart();
       event.getServletContext().setAttribute(STARTED_ATTRIBUTE, Boolean.TRUE);
-
+    } catch (org.sonar.api.utils.MessageException | org.sonar.process.MessageException e) {
+      Loggers.get(Platform.class).error("Web server startup failed: " + e.getMessage());
+      stopQuietly();
     } catch (Throwable t) {
-      // Tomcat 7 "limitations": server does not stop if webapp fails at startup
       stopQuietly();
       throw Throwables.propagate(t);
     }