diff options
Diffstat (limited to 'qpid/java/broker-core/src')
| -rw-r--r-- | qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/AbstractVirtualHostNode.java | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/AbstractVirtualHostNode.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/AbstractVirtualHostNode.java index ca521f82df..2f8860a3a0 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/AbstractVirtualHostNode.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/AbstractVirtualHostNode.java @@ -211,9 +211,10 @@ public abstract class AbstractVirtualHostNode<X extends AbstractVirtualHostNode< } } - @StateTransition( currentState = { State.ACTIVE, State.ERRORED }, desiredState = State.STOPPED ) + @StateTransition( currentState = { State.ACTIVE, State.ERRORED, State.UNINITIALIZED }, desiredState = State.STOPPED ) protected void doStop() { + closeConfigurationStore(); closeChildren(); _state.set(State.STOPPED); } @@ -221,12 +222,7 @@ public abstract class AbstractVirtualHostNode<X extends AbstractVirtualHostNode< @Override protected void onClose() { - DurableConfigurationStore configurationStore = getConfigurationStore(); - if (configurationStore != null) - { - configurationStore.closeConfigurationStore(); - getEventLogger().message(getConfigurationStoreLogSubject(), ConfigStoreMessages.CLOSE()); - } + closeConfigurationStore(); } @Override @@ -250,6 +246,16 @@ public abstract class AbstractVirtualHostNode<X extends AbstractVirtualHostNode< } } + private void closeConfigurationStore() + { + DurableConfigurationStore configurationStore = getConfigurationStore(); + if (configurationStore != null) + { + configurationStore.closeConfigurationStore(); + getEventLogger().message(getConfigurationStoreLogSubject(), ConfigStoreMessages.CLOSE()); + } + } + protected abstract DurableConfigurationStore createConfigurationStore(); protected abstract void activate(); |
