summaryrefslogtreecommitdiff
path: root/qpid/java/broker-core/src
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/java/broker-core/src')
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/AbstractVirtualHostNode.java20
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();