diff options
Diffstat (limited to 'qpid/java/broker/src/main/java/org/apache/qpid/server/store/StateManager.java')
-rw-r--r-- | qpid/java/broker/src/main/java/org/apache/qpid/server/store/StateManager.java | 33 |
1 files changed, 16 insertions, 17 deletions
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/store/StateManager.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/store/StateManager.java index 5998be5bb6..613b329beb 100644 --- a/qpid/java/broker/src/main/java/org/apache/qpid/server/store/StateManager.java +++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/store/StateManager.java @@ -24,6 +24,8 @@ package org.apache.qpid.server.store; import java.util.EnumMap; import java.util.Map; +import org.apache.qpid.server.store.StateManager.Transition; + public class StateManager { private State _state = State.INITIAL; @@ -70,16 +72,23 @@ public class StateManager } - public static final Transition CONFIGURE = new Transition(State.INITIAL, State.CONFIGURING, Event.BEFORE_INIT); - public static final Transition CONFIGURE_COMPLETE = new Transition(State.CONFIGURING, State.CONFIGURED, Event.AFTER_INIT); - public static final Transition RECOVER = new Transition(State.CONFIGURED, State.RECOVERING, Event.BEFORE_ACTIVATE); - public static final Transition ACTIVATE = new Transition(State.RECOVERING, State.ACTIVE, Event.AFTER_ACTIVATE); + public static final Transition INITIALISE = new Transition(State.INITIAL, State.INITIALISING, Event.BEFORE_INIT); + public static final Transition INITALISE_COMPLETE = new Transition(State.INITIALISING, State.INITIALISED, Event.AFTER_INIT); + + public static final Transition ACTIVATE = new Transition(State.INITIALISED, State.ACTIVATING, Event.BEFORE_ACTIVATE); + public static final Transition ACTIVATE_COMPLETE = new Transition(State.ACTIVATING, State.ACTIVE, Event.AFTER_ACTIVATE); + + public static final Transition CLOSE_INITIALISED = new Transition(State.INITIALISED, State.CLOSING, Event.BEFORE_CLOSE);; public static final Transition CLOSE_ACTIVE = new Transition(State.ACTIVE, State.CLOSING, Event.BEFORE_CLOSE); public static final Transition CLOSE_QUIESCED = new Transition(State.QUIESCED, State.CLOSING, Event.BEFORE_CLOSE); public static final Transition CLOSE_COMPLETE = new Transition(State.CLOSING, State.CLOSED, Event.AFTER_CLOSE); - public static final Transition QUIESCE = new Transition(State.ACTIVE, State.QUIESCING, Event.BEFORE_PASSIVATE); - public static final Transition QUIESCE_COMPLETE = new Transition(State.QUIESCING, State.QUIESCED, Event.BEFORE_PASSIVATE); - public static final Transition RESTART = new Transition(State.QUIESCED, State.RECOVERING, Event.BEFORE_ACTIVATE); + + public static final Transition PASSIVATE = new Transition(State.ACTIVE, State.INITIALISED, Event.BEFORE_PASSIVATE); + + public static final Transition QUIESCE = new Transition(State.ACTIVE, State.QUIESCING, Event.BEFORE_QUIESCE); + public static final Transition QUIESCE_COMPLETE = new Transition(State.QUIESCING, State.QUIESCED, Event.AFTER_QUIESCE); + + public static final Transition RESTART = new Transition(State.QUIESCED, State.ACTIVATING, Event.BEFORE_RESTART); public StateManager(final EventManager eventManager) @@ -105,16 +114,6 @@ public class StateManager return _state; } - public synchronized void stateTransition(final State current, final State desired) - { - if (_state != current) - { - throw new IllegalStateException("Cannot transition to the state: " + desired + "; need to be in state: " + current - + "; currently in state: " + _state); - } - attainState(desired); - } - public synchronized void attainState(State desired) { Transition transition = null; |