diff --git a/optimiser-controller/src/main/java/eu/nebulouscloud/optimiser/controller/LocalExecution.java b/optimiser-controller/src/main/java/eu/nebulouscloud/optimiser/controller/LocalExecution.java index f0fe0db..229c0d0 100644 --- a/optimiser-controller/src/main/java/eu/nebulouscloud/optimiser/controller/LocalExecution.java +++ b/optimiser-controller/src/main/java/eu/nebulouscloud/optimiser/controller/LocalExecution.java @@ -41,6 +41,12 @@ public class LocalExecution implements Callable { negatable = true) private boolean deploy; + @Option(names = { "--keepalive"}, + description = "Stay alive and process messages from other components after initial deployment (default true).", + defaultValue = "true", fallbackValue = "true", + negatable = true) + private boolean keepalive; + @Override public Integer call() { ObjectMapper mapper = new ObjectMapper(); CountDownLatch exn_synchronizer = new CountDownLatch(1); @@ -77,6 +83,13 @@ public class LocalExecution implements Callable { } } if (connector != null) { + if (keepalive) { + try { + exn_synchronizer.await(); + } catch (InterruptedException e) { + // ignore + } + } connector.stop(); } return 0;