summaryrefslogtreecommitdiffstats
path: root/sonar-application/src/main
diff options
context:
space:
mode:
authorStephane Gamard <stephane.gamard@searchbox.com>2014-07-24 18:28:42 +0200
committerStephane Gamard <stephane.gamard@searchbox.com>2014-07-24 18:40:05 +0200
commita57b9477e3f618f5f6b8ac5f0125fcbb22d46e96 (patch)
tree93c6f78fc66ddc5db3d0d84317da950de0c76d39 /sonar-application/src/main
parent82bfce17f3ae127ead79f58fa2a5fdb4354f7208 (diff)
downloadsonarqube-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.java19
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();
}
}