From: Stephane Gamard Date: Fri, 11 Jul 2014 09:31:26 +0000 (+0200) Subject: SONAR-5409 - added onStart and onStop abstract methods to Process X-Git-Tag: 4.5-RC1~613 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=436422f908f51780bce649478ddf1894dc1e6f94;p=sonarqube.git SONAR-5409 - added onStart and onStop abstract methods to Process --- diff --git a/server/sonar-process/src/main/java/org/sonar/process/Process.java b/server/sonar-process/src/main/java/org/sonar/process/Process.java index d1070c3c138..349999adff7 100644 --- a/server/sonar-process/src/main/java/org/sonar/process/Process.java +++ b/server/sonar-process/src/main/java/org/sonar/process/Process.java @@ -74,13 +74,20 @@ public abstract class Process implements Runnable { //Starting monitoring thread this.monitor = new Thread(this); - this.monitor.start(); } - public abstract void execute(); + public abstract void onStart(); + + public abstract void onStop(); + + public final void start() { + this.monitor.start(); + onStart(); + } - public void shutdown() { + public final void shutdown() { this.monitor.interrupt(); + this.onStop(); } @Override diff --git a/server/sonar-search/src/main/java/org/sonar/search/ElasticSearch.java b/server/sonar-search/src/main/java/org/sonar/search/ElasticSearch.java index 6dd31880e6a..4c528db7ed9 100644 --- a/server/sonar-search/src/main/java/org/sonar/search/ElasticSearch.java +++ b/server/sonar-search/src/main/java/org/sonar/search/ElasticSearch.java @@ -102,11 +102,12 @@ public class ElasticSearch extends org.sonar.process.Process { node = NodeBuilder.nodeBuilder() .settings(esSettings) - .build().start(); + .build(); } @Override - public void execute() { + public void onStart() { + node.start(); try { Thread.currentThread().join(); } catch (InterruptedException e) { @@ -114,16 +115,15 @@ public class ElasticSearch extends org.sonar.process.Process { } } - public void shutdown() { + public void onStop() { if (node != null) { this.node.close(); } - super.shutdown(); } public static void main(String... args) { Props props = Props.create(System.getProperties()); ElasticSearch elasticSearch = new ElasticSearch(props); - elasticSearch.execute(); + elasticSearch.start(); } } \ No newline at end of file