diff options
author | Stephane Gamard <stephane.gamard@searchbox.com> | 2014-07-24 18:28:42 +0200 |
---|---|---|
committer | Stephane Gamard <stephane.gamard@searchbox.com> | 2014-07-24 18:40:05 +0200 |
commit | a57b9477e3f618f5f6b8ac5f0125fcbb22d46e96 (patch) | |
tree | 93c6f78fc66ddc5db3d0d84317da950de0c76d39 /sonar-application/src/main | |
parent | 82bfce17f3ae127ead79f58fa2a5fdb4354f7208 (diff) | |
download | sonarqube-a57b9477e3f618f5f6b8ac5f0125fcbb22d46e96.tar.gz sonarqube-a57b9477e3f618f5f6b8ac5f0125fcbb22d46e96.zip |
SONAR-4898 - Fixed hangs when exiting after a failure.
Diffstat (limited to 'sonar-application/src/main')
-rw-r--r-- | sonar-application/src/main/java/org/sonar/application/App.java | 19 |
1 files changed, 3 insertions, 16 deletions
diff --git a/sonar-application/src/main/java/org/sonar/application/App.java b/sonar-application/src/main/java/org/sonar/application/App.java index f80d2591a5f..a2b63eab3e8 100644 --- a/sonar-application/src/main/java/org/sonar/application/App.java +++ b/sonar-application/src/main/java/org/sonar/application/App.java @@ -26,12 +26,10 @@ import org.sonar.process.Process; import org.sonar.process.ProcessMXBean; import org.sonar.process.ProcessWrapper; -import javax.annotation.Nullable; import javax.management.InstanceAlreadyExistsException; import javax.management.MBeanRegistrationException; import javax.management.MBeanServer; import javax.management.NotCompliantMBeanException; - import java.lang.management.ManagementFactory; public class App implements ProcessMXBean { @@ -114,6 +112,7 @@ public class App implements ProcessMXBean { // TODO ignore ? } finally { + LOGGER.debug("Closing App because monitor is gone."); terminate(); } } @@ -125,20 +124,8 @@ public class App implements ProcessMXBean { logger.info("Shutting down server"); monitor.interrupt(); monitor = null; - terminateAndWait(elasticsearch); - terminateAndWait(server); - } - - } - - private void terminateAndWait(@Nullable ProcessWrapper process) { - if (process != null) { - process.terminate(); - try { - process.join(); - } catch (InterruptedException e) { - LOGGER.warn("Process '{}' did not gracefully shutdown.", process.getName()); - } + elasticsearch.terminate(); + server.terminate(); } } |