summaryrefslogtreecommitdiff
path: root/qpid/java/broker-core/src
diff options
context:
space:
mode:
authorAlex Rudyy <orudyy@apache.org>2014-03-31 15:37:34 +0000
committerAlex Rudyy <orudyy@apache.org>2014-03-31 15:37:34 +0000
commit6de63bce6e61011a921337d9c3880e199f21c94c (patch)
tree539f0c2471e185edb5eb2ed5a14d5c69b0ef42db /qpid/java/broker-core/src
parent4e8e65d2a2569aee45f20a09f4f34c6abcf81f59 (diff)
downloadqpid-python-6de63bce6e61011a921337d9c3880e199f21c94c.tar.gz
QPID-5653: Open databases and upgrade on opening of configuration/message stores
git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/java-broker-bdb-ha2@1583351 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/broker-core/src')
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/AbstractJDBCMessageStore.java42
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/DurableConfigurationRecoverer.java1
-rwxr-xr-xqpid/java/broker-core/src/main/java/org/apache/qpid/server/store/DurableConfigurationStore.java11
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/JsonFileConfigStore.java6
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/MessageStore.java7
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/NullMessageStore.java10
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/DefaultUpgraderProvider.java19
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/StandardVirtualHost.java25
-rw-r--r--qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/AbstractDurableConfigurationStoreTestCase.java6
-rw-r--r--qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/JsonFileConfigStoreTest.java63
-rw-r--r--qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/MessageStoreQuotaEventsTestBase.java7
-rw-r--r--qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/MessageStoreTestCase.java12
-rw-r--r--qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/DurableConfigurationRecovererTest.java2
13 files changed, 118 insertions, 93 deletions
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/AbstractJDBCMessageStore.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/AbstractJDBCMessageStore.java
index 28ac79075e..e7b6adaf7a 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/AbstractJDBCMessageStore.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/AbstractJDBCMessageStore.java
@@ -183,11 +183,20 @@ abstract public class AbstractJDBCMessageStore implements MessageStore, DurableC
@Override
- public void openConfigurationStore(String virtualHostName, Map<String, Object> storeSettings)
+ public void openConfigurationStore(ConfiguredObject<?> parent, Map<String, Object> storeSettings)
{
if (_configurationStoreOpen.compareAndSet(false, true))
{
- initialiseIfNecessary(virtualHostName, storeSettings);
+ initialiseIfNecessary(parent.getName(), storeSettings);
+ try
+ {
+ createOrOpenConfigurationStoreDatabase();
+ upgradeIfVersionTableExists(parent);
+ }
+ catch(SQLException e)
+ {
+ throw new StoreException("Cannot create databases or upgrade", e);
+ }
}
}
@@ -212,14 +221,12 @@ abstract public class AbstractJDBCMessageStore implements MessageStore, DurableC
}
@Override
- public void recoverConfigurationStore(ConfiguredObject<?> parent, ConfigurationRecoveryHandler recoveryHandler)
+ public void recoverConfigurationStore(ConfigurationRecoveryHandler recoveryHandler)
{
checkConfigurationStoreOpen();
try
{
- createOrOpenConfigurationStoreDatabase();
- upgradeIfVersionTableExists(parent);
recoveryHandler.beginConfigurationRecovery(this, getConfigVersion());
loadConfiguredObjects(recoveryHandler);
setConfigVersion(recoveryHandler.completeConfigurationRecovery());
@@ -266,27 +273,28 @@ abstract public class AbstractJDBCMessageStore implements MessageStore, DurableC
}
@Override
- public void openMessageStore(String virtualHostName, Map<String, Object> messageStoreSettings)
+ public void openMessageStore(ConfiguredObject<?> parent, Map<String, Object> messageStoreSettings)
{
if (_messageStoreOpen.compareAndSet(false, true))
{
- initialiseIfNecessary(virtualHostName, messageStoreSettings);
+ initialiseIfNecessary(parent.getName(), messageStoreSettings);
+ try
+ {
+ createOrOpenMessageStoreDatabase();
+ upgradeIfNecessary(parent);
+ }
+ catch (SQLException e)
+ {
+ throw new StoreException("Unable to activate message store ", e);
+ }
}
}
@Override
- public void recoverMessageStore(ConfiguredObject<?> parent, MessageStoreRecoveryHandler messageRecoveryHandler, TransactionLogRecoveryHandler transactionLogRecoveryHandler)
+ public void recoverMessageStore(MessageStoreRecoveryHandler messageRecoveryHandler, TransactionLogRecoveryHandler transactionLogRecoveryHandler)
{
checkMessageStoreOpen();
- try
- {
- createOrOpenMessageStoreDatabase();
- upgradeIfNecessary(parent);
- }
- catch (SQLException e)
- {
- throw new StoreException("Unable to activate message store ", e);
- }
+
if(messageRecoveryHandler != null)
{
try
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/DurableConfigurationRecoverer.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/DurableConfigurationRecoverer.java
index 84f24df1cc..5975bf58b3 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/DurableConfigurationRecoverer.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/DurableConfigurationRecoverer.java
@@ -32,7 +32,6 @@ import org.apache.log4j.Logger;
import org.apache.qpid.server.configuration.IllegalConfigurationException;
import org.apache.qpid.server.logging.EventLogger;
import org.apache.qpid.server.logging.messages.ConfigStoreMessages;
-import org.apache.qpid.server.logging.messages.MessageStoreMessages;
import org.apache.qpid.server.logging.subjects.MessageStoreLogSubject;
import static org.apache.qpid.server.model.VirtualHost.CURRENT_CONFIG_VERSION;
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/DurableConfigurationStore.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/DurableConfigurationStore.java
index 918a9b0134..624c451df6 100755
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/DurableConfigurationStore.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/DurableConfigurationStore.java
@@ -29,6 +29,8 @@ public interface DurableConfigurationStore
{
String STORE_TYPE = "storeType";
String STORE_PATH = "storePath";
+ String IS_MESSAGE_STORE_TOO = "isMessageStoreToo";
+
public static interface Source
{
@@ -38,17 +40,16 @@ public interface DurableConfigurationStore
/**
* Called after instantiation in order to configure the message store. A particular implementation can define
* whatever parameters it wants.
- * @param virtualHostName host name
+ * @param parent host name
* @param storeSettings store settings
*/
- void openConfigurationStore(String virtualHostName, Map<String, Object> storeSettings) throws StoreException;
+ void openConfigurationStore(ConfiguredObject<?> parent, Map<String, Object> storeSettings) throws StoreException;
/**
* Recovers configuration from the store using given recovery handler
- * @param parent parent
* @param recoveryHandler recovery handler
*/
- void recoverConfigurationStore(ConfiguredObject<?> parent, ConfigurationRecoveryHandler recoveryHandler) throws StoreException;
+ void recoverConfigurationStore(ConfigurationRecoveryHandler recoveryHandler) throws StoreException;
/**
* Makes the specified object persistent.
@@ -81,6 +82,6 @@ public interface DurableConfigurationStore
*/
void update(boolean createIfNecessary, ConfiguredObjectRecord... records) throws StoreException;
-
void closeConfigurationStore() throws StoreException;
+
}
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/JsonFileConfigStore.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/JsonFileConfigStore.java
index 97559c8286..0eca9adda0 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/JsonFileConfigStore.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/JsonFileConfigStore.java
@@ -89,16 +89,16 @@ public class JsonFileConfigStore implements DurableConfigurationStore
}
@Override
- public void openConfigurationStore(String virtualHostName, Map<String, Object> storeSettings)
+ public void openConfigurationStore(ConfiguredObject<?> parent, Map<String, Object> storeSettings)
{
- _name = virtualHostName;
+ _name = parent.getName();
setup(storeSettings);
load();
}
@Override
- public void recoverConfigurationStore(ConfiguredObject<?> parent, ConfigurationRecoveryHandler recoveryHandler)
+ public void recoverConfigurationStore(ConfigurationRecoveryHandler recoveryHandler)
{
recoveryHandler.beginConfigurationRecovery(this,_configVersion);
List<ConfiguredObjectRecord> records = new ArrayList<ConfiguredObjectRecord>(_objectsById.values());
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/MessageStore.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/MessageStore.java
index b6b65087a4..69f9073f6e 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/MessageStore.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/MessageStore.java
@@ -38,18 +38,17 @@ public interface MessageStore
/**
* Called after instantiation in order to open and initialize the message store. A particular implementation can define
* whatever parameters it wants.
- * @param virtualHostName virtual host name
+ * @param parent virtual host name
* @param messageStoreSettings store settings
*/
- void openMessageStore(String virtualHostName, Map<String, Object> messageStoreSettings);
+ void openMessageStore(ConfiguredObject<?> parent, Map<String, Object> messageStoreSettings);
/**
* Called after opening to recover messages and transactions with given recovery handlers
- * @param parent TODO
* @param messageRecoveryHandler
* @param transactionLogRecoveryHandler
*/
- void recoverMessageStore(ConfiguredObject<?> parent, MessageStoreRecoveryHandler messageRecoveryHandler, TransactionLogRecoveryHandler transactionLogRecoveryHandler);
+ void recoverMessageStore(MessageStoreRecoveryHandler messageRecoveryHandler, TransactionLogRecoveryHandler transactionLogRecoveryHandler);
public <T extends StorableMessageMetaData> StoredMessage<T> addMessage(T metaData);
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/NullMessageStore.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/NullMessageStore.java
index 66c3fe6cae..59b4530014 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/NullMessageStore.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/NullMessageStore.java
@@ -26,13 +26,14 @@ import org.apache.qpid.server.model.ConfiguredObject;
public abstract class NullMessageStore implements MessageStore, DurableConfigurationStore
{
+
@Override
- public void openConfigurationStore(String virtualHostName, Map<String, Object> storeSettings)
+ public void openConfigurationStore(ConfiguredObject<?> parent, Map<String, Object> storeSettings)
{
}
@Override
- public void recoverConfigurationStore(ConfiguredObject<?> parent, ConfigurationRecoveryHandler recoveryHandler)
+ public void recoverConfigurationStore(ConfigurationRecoveryHandler recoveryHandler)
{
}
@@ -58,7 +59,7 @@ public abstract class NullMessageStore implements MessageStore, DurableConfigura
}
@Override
- public void openMessageStore(String virtualHostName, Map<String, Object> messageStoreSettings)
+ public void openMessageStore(ConfiguredObject<?> parent, Map<String, Object> messageStoreSettings)
{
}
@@ -91,7 +92,7 @@ public abstract class NullMessageStore implements MessageStore, DurableConfigura
}
@Override
- public void recoverMessageStore(ConfiguredObject<?> parent, MessageStoreRecoveryHandler messageRecoveryHandler, TransactionLogRecoveryHandler transactionLogRecoveryHandler)
+ public void recoverMessageStore(MessageStoreRecoveryHandler messageRecoveryHandler, TransactionLogRecoveryHandler transactionLogRecoveryHandler)
{
}
@@ -110,4 +111,5 @@ public abstract class NullMessageStore implements MessageStore, DurableConfigura
public void onDelete()
{
}
+
}
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/DefaultUpgraderProvider.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/DefaultUpgraderProvider.java
index f6fa6344d3..7e0562afec 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/DefaultUpgraderProvider.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/DefaultUpgraderProvider.java
@@ -30,7 +30,6 @@ import java.util.Map.Entry;
import java.util.UUID;
import org.apache.log4j.Logger;
-import org.apache.qpid.server.exchange.ExchangeRegistry;
import org.apache.qpid.server.exchange.TopicExchange;
import org.apache.qpid.server.filter.FilterSupport;
import org.apache.qpid.server.model.Binding;
@@ -52,7 +51,6 @@ public class DefaultUpgraderProvider implements UpgraderProvider
public static final String EXCLUSIVE = "exclusive";
public static final String NAME = "name";
- private final ExchangeRegistry _exchangeRegistry;
private final VirtualHost _virtualHost;
@SuppressWarnings("serial")
@@ -66,11 +64,9 @@ public class DefaultUpgraderProvider implements UpgraderProvider
private final Map<String, UUID> _defaultExchangeIds;
- public DefaultUpgraderProvider(final VirtualHost virtualHost,
- final ExchangeRegistry exchangeRegistry)
+ public DefaultUpgraderProvider(final VirtualHost virtualHost)
{
_virtualHost = virtualHost;
- _exchangeRegistry = exchangeRegistry;
Map<String, UUID> defaultExchangeIds = new HashMap<String, UUID>();
for (String exchangeName : DEFAULT_EXCHANGES.keySet())
{
@@ -150,7 +146,12 @@ public class DefaultUpgraderProvider implements UpgraderProvider
private boolean isTopicExchange(ConfiguredObjectRecord entry)
{
- UUID exchangeId = entry.getParents().get("Exchange").getId();
+ ConfiguredObjectRecord exchangeRecord = entry.getParents().get("Exchange");
+ if (exchangeRecord == null)
+ {
+ return false;
+ }
+ UUID exchangeId = exchangeRecord.getId();
if(_records.containsKey(exchangeId))
{
@@ -165,8 +166,8 @@ public class DefaultUpgraderProvider implements UpgraderProvider
return true;
}
- return _exchangeRegistry.getExchange(exchangeId) != null
- && _exchangeRegistry.getExchange(exchangeId).getExchangeType() == TopicExchange.TYPE;
+ return _virtualHost.getExchange(exchangeId) != null
+ && _virtualHost.getExchange(exchangeId).getExchangeType() == TopicExchange.TYPE;
}
}
@@ -253,7 +254,7 @@ public class DefaultUpgraderProvider implements UpgraderProvider
}
ConfiguredObjectRecord localRecord = getUpdateMap().get(exchangeId);
return !((localRecord != null && localRecord.getType().equals(Exchange.class.getSimpleName()))
- || _exchangeRegistry.getExchange(exchangeId) != null);
+ || _virtualHost.getExchange(exchangeId) != null);
}
private boolean unknownQueue(final UUID queueId)
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/StandardVirtualHost.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/StandardVirtualHost.java
index 6b75c39c49..e3fd938225 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/StandardVirtualHost.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/StandardVirtualHost.java
@@ -1,4 +1,4 @@
-package org.apache.qpid.server.virtualhost;/*
+/*
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -18,7 +18,9 @@ package org.apache.qpid.server.virtualhost;/*
* under the License.
*
*/
+package org.apache.qpid.server.virtualhost;
+import java.util.HashMap;
import java.util.Map;
import org.apache.qpid.server.logging.messages.ConfigStoreMessages;
@@ -27,6 +29,7 @@ import org.apache.qpid.server.logging.subjects.MessageStoreLogSubject;
import org.apache.qpid.server.model.VirtualHost;
import org.apache.qpid.server.plugin.MessageStoreFactory;
import org.apache.qpid.server.stats.StatisticsGatherer;
+
import org.apache.qpid.server.store.DurableConfigurationRecoverer;
import org.apache.qpid.server.store.DurableConfigurationStore;
import org.apache.qpid.server.store.DurableConfigurationStoreCreator;
@@ -83,18 +86,21 @@ public class StandardVirtualHost extends AbstractVirtualHost
String configurationStoreType = configurationStoreSettings == null ? null : (String) configurationStoreSettings.get(DurableConfigurationStore.STORE_TYPE);
_durableConfigurationStore = initialiseConfigurationStore(configurationStoreType);
boolean combinedStores = _durableConfigurationStore == _messageStore;
+ if (combinedStores)
+ {
+ configurationStoreSettings = new HashMap<String,Object>(messageStoreSettings);
+ configurationStoreSettings.put(DurableConfigurationStore.IS_MESSAGE_STORE_TOO, true);
+ }
+
if (!combinedStores)
{
_configurationStoreLogSubject = new MessageStoreLogSubject(getName(), _durableConfigurationStore.getClass().getSimpleName());
getEventLogger().message(_configurationStoreLogSubject, ConfigStoreMessages.CREATED());
}
- DurableConfigurationRecoverer configRecoverer =
- new DurableConfigurationRecoverer(getName(), getDurableConfigurationRecoverers(),
- new DefaultUpgraderProvider(this, getExchangeRegistry()), getEventLogger());
- _durableConfigurationStore.openConfigurationStore(virtualHost.getName(), combinedStores ? messageStoreSettings: configurationStoreSettings);
+ _durableConfigurationStore.openConfigurationStore(virtualHost, configurationStoreSettings);
- _messageStore.openMessageStore(virtualHost.getName(), virtualHost.getMessageStoreSettings());
+ _messageStore.openMessageStore(virtualHost, virtualHost.getMessageStoreSettings());
getEventLogger().message(_messageStoreLogSubject, MessageStoreMessages.STORE_LOCATION(_messageStore.getStoreLocation()));
@@ -103,13 +109,16 @@ public class StandardVirtualHost extends AbstractVirtualHost
getEventLogger().message(_configurationStoreLogSubject, ConfigStoreMessages.STORE_LOCATION(configurationStoreSettings.toString()));
}
- _durableConfigurationStore.recoverConfigurationStore(getModel(), configRecoverer);
+ DurableConfigurationRecoverer configRecoverer = new DurableConfigurationRecoverer(getName(), getDurableConfigurationRecoverers(),
+ new DefaultUpgraderProvider(this), getEventLogger());
+
+ _durableConfigurationStore.recoverConfigurationStore(configRecoverer);
// If store does not have entries for standard exchanges (amq.*), the following will create them.
initialiseModel();
VirtualHostConfigRecoveryHandler recoveryHandler = new VirtualHostConfigRecoveryHandler(this, getMessageStoreLogSubject());
- _messageStore.recoverMessageStore(getModel(), recoveryHandler, recoveryHandler);
+ _messageStore.recoverMessageStore(recoveryHandler, recoveryHandler);
attainActivation();
}
diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/AbstractDurableConfigurationStoreTestCase.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/AbstractDurableConfigurationStoreTestCase.java
index fbd26208d8..83052110a1 100644
--- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/AbstractDurableConfigurationStoreTestCase.java
+++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/AbstractDurableConfigurationStoreTestCase.java
@@ -488,8 +488,10 @@ public abstract class AbstractDurableConfigurationStoreTestCase extends QpidTest
closeConfigStore();
_configStore = createConfigStore();
- _configStore.openConfigurationStore("testName", _configurationStoreSettings);
- _configStore.recoverConfigurationStore(mock(ConfiguredObject.class), _recoveryHandler);
+ ConfiguredObject<?> parent = mock(ConfiguredObject.class);
+ when(parent.getName()).thenReturn("testName");
+ _configStore.openConfigurationStore(parent, _configurationStoreSettings);
+ _configStore.recoverConfigurationStore(_recoveryHandler);
}
protected abstract DurableConfigurationStore createConfigStore() throws Exception;
diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/JsonFileConfigStoreTest.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/JsonFileConfigStoreTest.java
index bca16b6e70..1de24e371d 100644
--- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/JsonFileConfigStoreTest.java
+++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/JsonFileConfigStoreTest.java
@@ -26,7 +26,6 @@ import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
-import org.apache.qpid.server.model.Binding;
import org.apache.qpid.server.model.ConfiguredObject;
import org.apache.qpid.server.model.Queue;
import org.apache.qpid.server.util.ServerScopedRuntimeException;
@@ -37,8 +36,6 @@ import org.mockito.ArgumentMatcher;
import org.mockito.InOrder;
import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.anyMap;
-import static org.mockito.Matchers.anyString;
import static org.mockito.Matchers.argThat;
import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.inOrder;
@@ -53,7 +50,7 @@ public class JsonFileConfigStoreTest extends QpidTestCase
private JsonFileConfigStore _store;
private HashMap<String, Object> _configurationStoreSettings;
- private String _virtualHostName;
+ private ConfiguredObject<?> _virtualHost;
private File _storeLocation;
@@ -64,7 +61,9 @@ public class JsonFileConfigStoreTest extends QpidTestCase
public void setUp() throws Exception
{
super.setUp();
- _virtualHostName = getName();
+
+ _virtualHost = mock(ConfiguredObject.class);
+ when(_virtualHost.getName()).thenReturn(getName());
_storeLocation = TestFileUtils.createTestDirectory("json", true);
_configurationStoreSettings = new HashMap<String, Object>();
_configurationStoreSettings.put(JsonFileConfigStore.STORE_TYPE, JsonFileConfigStore.TYPE);
@@ -90,7 +89,7 @@ public class JsonFileConfigStoreTest extends QpidTestCase
_configurationStoreSettings.put(JsonFileConfigStore.STORE_PATH, null);
try
{
- _store.openConfigurationStore(_virtualHostName, _configurationStoreSettings);
+ _store.openConfigurationStore(_virtualHost, _configurationStoreSettings);
fail("Store should not successfully configure if there is no path set");
}
catch (ServerScopedRuntimeException e)
@@ -105,7 +104,7 @@ public class JsonFileConfigStoreTest extends QpidTestCase
_configurationStoreSettings.put(JsonFileConfigStore.STORE_PATH, System.getProperty("file.separator"));
try
{
- _store.openConfigurationStore(_virtualHostName, _configurationStoreSettings);
+ _store.openConfigurationStore(_virtualHost, _configurationStoreSettings);
fail("Store should not successfully configure if there is an invalid path set");
}
catch (ServerScopedRuntimeException e)
@@ -116,8 +115,8 @@ public class JsonFileConfigStoreTest extends QpidTestCase
public void testStartFromNoStore() throws Exception
{
- _store.openConfigurationStore(_virtualHostName, _configurationStoreSettings);
- _store.recoverConfigurationStore(mock(ConfiguredObject.class), _recoveryHandler);
+ _store.openConfigurationStore(_virtualHost, _configurationStoreSettings);
+ _store.recoverConfigurationStore(_recoveryHandler);
InOrder inorder = inOrder(_recoveryHandler);
inorder.verify(_recoveryHandler).beginConfigurationRecovery(eq(_store), eq(0));
inorder.verify(_recoveryHandler,never()).configuredObject(any(ConfiguredObjectRecord.class));
@@ -130,12 +129,12 @@ public class JsonFileConfigStoreTest extends QpidTestCase
final int NEW_CONFIG_VERSION = 42;
when(_recoveryHandler.completeConfigurationRecovery()).thenReturn(NEW_CONFIG_VERSION);
- _store.openConfigurationStore(_virtualHostName, _configurationStoreSettings);
- _store.recoverConfigurationStore(mock(ConfiguredObject.class), _recoveryHandler);
+ _store.openConfigurationStore(_virtualHost, _configurationStoreSettings);
+ _store.recoverConfigurationStore(_recoveryHandler);
_store.closeConfigurationStore();
- _store.openConfigurationStore(_virtualHostName, _configurationStoreSettings);
- _store.recoverConfigurationStore(mock(ConfiguredObject.class), _recoveryHandler);
+ _store.openConfigurationStore(_virtualHost, _configurationStoreSettings);
+ _store.recoverConfigurationStore(_recoveryHandler);
InOrder inorder = inOrder(_recoveryHandler);
// first time the config version should be the initial version - 0
@@ -149,7 +148,7 @@ public class JsonFileConfigStoreTest extends QpidTestCase
public void testCreateObject() throws Exception
{
- _store.openConfigurationStore(_virtualHostName, _configurationStoreSettings);
+ _store.openConfigurationStore(_virtualHost, _configurationStoreSettings);
final UUID queueId = new UUID(0, 1);
final String queueType = Queue.class.getSimpleName();
final Map<String,Object> queueAttr = Collections.singletonMap("name", (Object) "q1");
@@ -157,15 +156,15 @@ public class JsonFileConfigStoreTest extends QpidTestCase
_store.create(new ConfiguredObjectRecordImpl(queueId, queueType, queueAttr));
_store.closeConfigurationStore();
- _store.openConfigurationStore(_virtualHostName, _configurationStoreSettings);
- _store.recoverConfigurationStore(mock(ConfiguredObject.class), _recoveryHandler);
+ _store.openConfigurationStore(_virtualHost, _configurationStoreSettings);
+ _store.recoverConfigurationStore(_recoveryHandler);
verify(_recoveryHandler).configuredObject(matchesRecord(queueId, queueType, queueAttr));
_store.closeConfigurationStore();
}
public void testCreateAndUpdateObject() throws Exception
{
- _store.openConfigurationStore(_virtualHostName, _configurationStoreSettings);
+ _store.openConfigurationStore(_virtualHost, _configurationStoreSettings);
final UUID queueId = new UUID(0, 1);
final String queueType = Queue.class.getSimpleName();
Map<String,Object> queueAttr = Collections.singletonMap("name", (Object) "q1");
@@ -179,8 +178,8 @@ public class JsonFileConfigStoreTest extends QpidTestCase
_store.closeConfigurationStore();
- _store.openConfigurationStore(_virtualHostName, _configurationStoreSettings);
- _store.recoverConfigurationStore(mock(ConfiguredObject.class), _recoveryHandler);
+ _store.openConfigurationStore(_virtualHost, _configurationStoreSettings);
+ _store.recoverConfigurationStore(_recoveryHandler);
verify(_recoveryHandler).configuredObject(matchesRecord(queueId, queueType, queueAttr));
_store.closeConfigurationStore();
}
@@ -188,7 +187,7 @@ public class JsonFileConfigStoreTest extends QpidTestCase
public void testCreateAndRemoveObject() throws Exception
{
- _store.openConfigurationStore(_virtualHostName, _configurationStoreSettings);
+ _store.openConfigurationStore(_virtualHost, _configurationStoreSettings);
final UUID queueId = new UUID(0, 1);
final String queueType = Queue.class.getSimpleName();
Map<String,Object> queueAttr = Collections.singletonMap("name", (Object) "q1");
@@ -201,15 +200,15 @@ public class JsonFileConfigStoreTest extends QpidTestCase
_store.closeConfigurationStore();
- _store.openConfigurationStore(_virtualHostName, _configurationStoreSettings);
- _store.recoverConfigurationStore(mock(ConfiguredObject.class), _recoveryHandler);
+ _store.openConfigurationStore(_virtualHost, _configurationStoreSettings);
+ _store.recoverConfigurationStore(_recoveryHandler);
verify(_recoveryHandler, never()).configuredObject(any(ConfiguredObjectRecord.class));
_store.closeConfigurationStore();
}
public void testCreateUnknownObjectType() throws Exception
{
- _store.openConfigurationStore(_virtualHostName, _configurationStoreSettings);
+ _store.openConfigurationStore(_virtualHost, _configurationStoreSettings);
try
{
_store.create(new ConfiguredObjectRecordImpl(UUID.randomUUID(), "wibble", Collections.<String, Object>emptyMap()));
@@ -223,7 +222,7 @@ public class JsonFileConfigStoreTest extends QpidTestCase
public void testTwoObjectsWithSameId() throws Exception
{
- _store.openConfigurationStore(_virtualHostName, _configurationStoreSettings);
+ _store.openConfigurationStore(_virtualHost, _configurationStoreSettings);
final UUID id = UUID.randomUUID();
_store.create(new ConfiguredObjectRecordImpl(id, "Queue", Collections.<String, Object>emptyMap()));
try
@@ -240,11 +239,11 @@ public class JsonFileConfigStoreTest extends QpidTestCase
public void testChangeTypeOfObject() throws Exception
{
- _store.openConfigurationStore(_virtualHostName, _configurationStoreSettings);
+ _store.openConfigurationStore(_virtualHost, _configurationStoreSettings);
final UUID id = UUID.randomUUID();
_store.create(new ConfiguredObjectRecordImpl(id, "Queue", Collections.<String, Object>emptyMap()));
_store.closeConfigurationStore();
- _store.openConfigurationStore(_virtualHostName, _configurationStoreSettings);
+ _store.openConfigurationStore(_virtualHost, _configurationStoreSettings);
try
{
@@ -259,13 +258,13 @@ public class JsonFileConfigStoreTest extends QpidTestCase
public void testLockFileGuaranteesExclusiveAccess() throws Exception
{
- _store.openConfigurationStore(_virtualHostName, _configurationStoreSettings);
+ _store.openConfigurationStore(_virtualHost, _configurationStoreSettings);
JsonFileConfigStore secondStore = new JsonFileConfigStore();
try
{
- secondStore.openConfigurationStore(_virtualHostName, _configurationStoreSettings);
+ secondStore.openConfigurationStore(_virtualHost, _configurationStoreSettings);
fail("Should not be able to open a second store with the same path");
}
catch(ServerScopedRuntimeException e)
@@ -273,7 +272,7 @@ public class JsonFileConfigStoreTest extends QpidTestCase
// pass
}
_store.closeConfigurationStore();
- secondStore.openConfigurationStore(_virtualHostName, _configurationStoreSettings);
+ secondStore.openConfigurationStore(_virtualHost, _configurationStoreSettings);
}
@@ -281,7 +280,7 @@ public class JsonFileConfigStoreTest extends QpidTestCase
public void testCreatedNestedObjects() throws Exception
{
- _store.openConfigurationStore(_virtualHostName, _configurationStoreSettings);
+ _store.openConfigurationStore(_virtualHost, _configurationStoreSettings);
final UUID queueId = new UUID(0, 1);
final UUID queue2Id = new UUID(1, 1);
@@ -311,8 +310,8 @@ public class JsonFileConfigStoreTest extends QpidTestCase
new ConfiguredObjectRecordImpl(binding2Id, "Binding", EMPTY_ATTR, binding2Parents);
_store.update(true, bindingRecord, binding2Record);
_store.closeConfigurationStore();
- _store.openConfigurationStore(_virtualHostName, _configurationStoreSettings);
- _store.recoverConfigurationStore(mock(ConfiguredObject.class), _recoveryHandler);
+ _store.openConfigurationStore(_virtualHost, _configurationStoreSettings);
+ _store.recoverConfigurationStore(_recoveryHandler);
verify(_recoveryHandler).configuredObject(matchesRecord(queueId, "Queue", EMPTY_ATTR));
verify(_recoveryHandler).configuredObject(matchesRecord(queue2Id, "Queue", EMPTY_ATTR));
verify(_recoveryHandler).configuredObject(matchesRecord(exchangeId, "Exchange", EMPTY_ATTR));
diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/MessageStoreQuotaEventsTestBase.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/MessageStoreQuotaEventsTestBase.java
index fc69a53c85..451a2744c3 100644
--- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/MessageStoreQuotaEventsTestBase.java
+++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/MessageStoreQuotaEventsTestBase.java
@@ -33,7 +33,6 @@ import java.util.UUID;
import org.apache.log4j.Logger;
import org.apache.qpid.server.message.EnqueueableMessage;
import org.apache.qpid.server.model.ConfiguredObject;
-import org.apache.qpid.server.model.VirtualHost;
import org.apache.qpid.server.store.MessageStoreRecoveryHandler.StoredMessageRecoveryHandler;
import org.apache.qpid.test.utils.QpidTestCase;
import org.apache.qpid.util.FileUtils;
@@ -69,8 +68,10 @@ public abstract class MessageStoreQuotaEventsTestBase extends QpidTestCase imple
MessageStoreRecoveryHandler recoveryHandler = mock(MessageStoreRecoveryHandler.class);
when(recoveryHandler.begin()).thenReturn(mock(StoredMessageRecoveryHandler.class));
- _store.openMessageStore("test", storeSettings);
- _store.recoverMessageStore(mock(ConfiguredObject.class), recoveryHandler, null);
+ ConfiguredObject<?> parent = mock(ConfiguredObject.class);
+ when(parent.getName()).thenReturn("test");
+ _store.openMessageStore(parent, storeSettings);
+ _store.recoverMessageStore(recoveryHandler, null);
_transactionResource = UUID.randomUUID();
_events = new ArrayList<Event>();
diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/MessageStoreTestCase.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/MessageStoreTestCase.java
index 1d95133784..51d3fc15d2 100644
--- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/MessageStoreTestCase.java
+++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/MessageStoreTestCase.java
@@ -46,11 +46,15 @@ public abstract class MessageStoreTestCase extends QpidTestCase
private MessageStore _store;
private Map<String, Object> _storeSettings;
+ private ConfiguredObject<?> _parent;
public void setUp() throws Exception
{
super.setUp();
+ _parent = mock(ConfiguredObject.class);
+ when(_parent.getName()).thenReturn("test");
+
_storedMessageRecoveryHandler = mock(StoredMessageRecoveryHandler.class);
_logRecoveryHandler = mock(TransactionLogRecoveryHandler.class);
_messageStoreRecoveryHandler = mock(MessageStoreRecoveryHandler.class);
@@ -65,8 +69,8 @@ public abstract class MessageStoreTestCase extends QpidTestCase
_store = createMessageStore();
- _store.openMessageStore("test", _storeSettings);
- _store.recoverMessageStore(mock(ConfiguredObject.class), _messageStoreRecoveryHandler, _logRecoveryHandler);
+ _store.openMessageStore(_parent, _storeSettings);
+ _store.recoverMessageStore(_messageStoreRecoveryHandler, _logRecoveryHandler);
}
protected abstract Map<String, Object> getStoreSettings() throws Exception;
@@ -106,8 +110,8 @@ public abstract class MessageStoreTestCase extends QpidTestCase
_store.closeMessageStore();
_store = createMessageStore();
- _store.openMessageStore("test", _storeSettings);
- _store.recoverMessageStore(mock(ConfiguredObject.class), _messageStoreRecoveryHandler, _logRecoveryHandler);
+ _store.openMessageStore(_parent, _storeSettings);
+ _store.recoverMessageStore(_messageStoreRecoveryHandler, _logRecoveryHandler);
}
private Record getTestRecord(long messageNumber)
{
diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/DurableConfigurationRecovererTest.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/DurableConfigurationRecovererTest.java
index c90c6af220..f6a251a691 100644
--- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/DurableConfigurationRecovererTest.java
+++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/DurableConfigurationRecovererTest.java
@@ -184,7 +184,7 @@ public class DurableConfigurationRecovererTest extends QpidTestCase
}
_durableConfigurationRecoverer =
new DurableConfigurationRecoverer(_vhost.getName(), recovererMap,
- new DefaultUpgraderProvider(_vhost, _exchangeRegistry), new EventLogger());
+ new DefaultUpgraderProvider(_vhost), new EventLogger());
_store = mock(DurableConfigurationStore.class);