From 24f91ddaafa5dd4e6061d9c0e77e8e6b9e1997ee Mon Sep 17 00:00:00 2001 From: Stephane Gamard Date: Tue, 29 Jul 2014 17:01:58 +0200 Subject: [PATCH] SONAR-5237 - Fixed exit of runner when TC Fails to load --- .../src/main/java/org/sonar/process/Monitor.java | 3 ++- .../main/java/org/sonar/server/app/EmbeddedTomcat.java | 3 --- .../main/java/org/sonar/server/app/ServerProcess.java | 9 ++++++++- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/server/sonar-process/src/main/java/org/sonar/process/Monitor.java b/server/sonar-process/src/main/java/org/sonar/process/Monitor.java index 75fd0ef8200..7f11bf3a378 100644 --- a/server/sonar-process/src/main/java/org/sonar/process/Monitor.java +++ b/server/sonar-process/src/main/java/org/sonar/process/Monitor.java @@ -55,7 +55,6 @@ public class Monitor extends Thread { public void registerProcess(ProcessWrapper processWrapper) { processes.add(processWrapper); pings.put(processWrapper.getName(), System.currentTimeMillis()); - processWrapper.start(); for (int i = 0; i < 10; i++) { if (processWrapper.getProcessMXBean() == null || !processWrapper.getProcessMXBean().isReady()) { try { @@ -65,6 +64,7 @@ public class Monitor extends Thread { } } } + processWrapper.start(); } private class ProcessWatch implements Runnable { @@ -78,6 +78,7 @@ public class Monitor extends Thread { } } catch (Exception e) { LOGGER.error("Error while pinging {}", process.getName(), e); + terminate(); } } } diff --git a/server/sonar-server/src/main/java/org/sonar/server/app/EmbeddedTomcat.java b/server/sonar-server/src/main/java/org/sonar/server/app/EmbeddedTomcat.java index 80f444dd6de..fe4be041682 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/app/EmbeddedTomcat.java +++ b/server/sonar-server/src/main/java/org/sonar/server/app/EmbeddedTomcat.java @@ -70,9 +70,6 @@ class EmbeddedTomcat { tomcat.getServer().await(); } catch (Exception e) { throw new IllegalStateException("Fail to start web server", e); - } finally { - // Shutdown command received - stop(); } } diff --git a/server/sonar-server/src/main/java/org/sonar/server/app/ServerProcess.java b/server/sonar-server/src/main/java/org/sonar/server/app/ServerProcess.java index 6af08730835..6651f5355d3 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/app/ServerProcess.java +++ b/server/sonar-server/src/main/java/org/sonar/server/app/ServerProcess.java @@ -19,6 +19,7 @@ */ package org.sonar.server.app; +import org.slf4j.LoggerFactory; import org.sonar.process.ConfigurationUtils; import org.sonar.process.Props; @@ -33,7 +34,13 @@ public class ServerProcess extends org.sonar.process.Process { @Override public void onStart() { - tomcat.start(); + try { + tomcat.start(); + } catch (Exception e) { + LoggerFactory.getLogger(getClass()).error("TC error", e); + } finally { + terminate(); + } } @Override -- 2.39.5