summaryrefslogtreecommitdiff
path: root/qpid/java
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/java')
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHostImpl.java45
1 files changed, 21 insertions, 24 deletions
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHostImpl.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHostImpl.java
index 02852d1a70..b39f975c28 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHostImpl.java
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHostImpl.java
@@ -146,7 +146,9 @@ public class VirtualHostImpl implements VirtualHost, IConnectionRegistry.Registr
_bindingFactory = new BindingFactory(this);
- _messageStore = configureMessageStore(hostConfig);
+ _messageStore = initialiseMessageStore(hostConfig);
+
+ configureMessageStore(hostConfig);
activateNonHAMessageStore();
@@ -260,29 +262,21 @@ public class VirtualHostImpl implements VirtualHost, IConnectionRegistry.Registr
return _houseKeepingTasks.getActiveCount();
}
-
- private MessageStore initialiseMessageStore(final String messageStoreClass) throws Exception
- {
- final Class<?> clazz = Class.forName(messageStoreClass);
- final Object o = clazz.newInstance();
-
- if (!(o instanceof MessageStore))
- {
- throw new ClassCastException("Message store class must implement " + MessageStore.class +
- ". Class " + clazz + " does not.");
- }
-
- final MessageStore messageStore = (MessageStore) o;
- return messageStore;
- }
-
- private MessageStore configureMessageStore(VirtualHostConfiguration hostConfig) throws Exception
+ private MessageStore initialiseMessageStore(VirtualHostConfiguration hostConfig) throws Exception
{
String storeType = hostConfig.getConfig().getString("store.type");
MessageStore messageStore = null;
if (storeType == null)
{
- messageStore = initialiseMessageStore(hostConfig.getMessageStoreClass());
+ final Class<?> clazz = Class.forName(hostConfig.getMessageStoreClass());
+ final Object o = clazz.newInstance();
+
+ if (!(o instanceof MessageStore))
+ {
+ throw new ClassCastException(clazz + " does not implement " + MessageStore.class);
+ }
+
+ messageStore = (MessageStore) o;
}
else
{
@@ -301,11 +295,6 @@ public class VirtualHostImpl implements VirtualHost, IConnectionRegistry.Registr
messageStore.addEventListener(new AfterInitialisationListener(), Event.AFTER_INIT);
}
- VirtualHostConfigRecoveryHandler recoveryHandler = new VirtualHostConfigRecoveryHandler(this);
-
- messageStore.configureConfigStore(getName(), recoveryHandler, hostConfig.getStoreConfiguration());
- messageStore.configureMessageStore(getName(), recoveryHandler, recoveryHandler, hostConfig.getStoreConfiguration());
-
return messageStore;
}
@@ -317,6 +306,14 @@ public class VirtualHostImpl implements VirtualHost, IConnectionRegistry.Registr
}
}
+ private void configureMessageStore(VirtualHostConfiguration hostConfig) throws Exception
+ {
+ VirtualHostConfigRecoveryHandler recoveryHandler = new VirtualHostConfigRecoveryHandler(this);
+
+ _messageStore.configureConfigStore(getName(), recoveryHandler, hostConfig.getStoreConfiguration());
+ _messageStore.configureMessageStore(getName(), recoveryHandler, recoveryHandler, hostConfig.getStoreConfiguration());
+ }
+
private void initialiseModel(VirtualHostConfiguration config) throws ConfigurationException, AMQException
{
_logger.debug("Loading configuration for virtualhost: " + config.getName());