diff --git a/src/main/java/info/sunng/stages/DefaultStageManager.java b/src/main/java/info/sunng/stages/DefaultStageManager.java index 044bcda..e493505 100644 --- a/src/main/java/info/sunng/stages/DefaultStageManager.java +++ b/src/main/java/info/sunng/stages/DefaultStageManager.java @@ -18,6 +18,8 @@ public class DefaultStageManager implements StageManager { private Map stages = new ConcurrentHashMap(); + private boolean started; + @Override public void register(Stage stage) { stages.put(stage.getName(), stage); @@ -52,6 +54,7 @@ public synchronized void start() { for (Stage stage: stages.values()) { stage.start(); } + started = true; } @Override @@ -60,10 +63,16 @@ public synchronized void shutdown() { stage.stop(); } stages.clear(); + started = false; } @Override public ScheduledExecutorService getRetrySchduler() { return retryScheduler; } + + @Override + public boolean isStarted() { + return started; + } } diff --git a/src/main/java/info/sunng/stages/StageManager.java b/src/main/java/info/sunng/stages/StageManager.java index e9a0f27..242d1aa 100644 --- a/src/main/java/info/sunng/stages/StageManager.java +++ b/src/main/java/info/sunng/stages/StageManager.java @@ -27,4 +27,6 @@ public interface StageManager { public ScheduledExecutorService getRetrySchduler(); + public boolean isStarted(); + }