diff options
| author | Robert Gemmell <robbie@apache.org> | 2011-01-27 11:18:59 +0000 |
|---|---|---|
| committer | Robert Gemmell <robbie@apache.org> | 2011-01-27 11:18:59 +0000 |
| commit | b9ad6350e2d6411b7c1f0fc2d468f1d517c75ce6 (patch) | |
| tree | d68a7c40e1d007122c50a5a60af6cbd57fd0b79c /java | |
| parent | 1a1f4659ff6466dc25fa206201d52e3b2fee5a2a (diff) | |
| download | qpid-python-b9ad6350e2d6411b7c1f0fc2d468f1d517c75ce6.tar.gz | |
QPID-3023: enable using the ServerConfiguration directly instead of leveraging an internal broker (via IBBC) to load the vhost config required for the tests
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1064085 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java')
4 files changed, 24 insertions, 59 deletions
diff --git a/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java b/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java index c6a8818d90..d7dcfa7dc8 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java +++ b/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java @@ -212,7 +212,7 @@ public class ServerConfiguration extends ConfigurationPlugin implements SignalHa * both, as a fix for QPID-2360 and QPID-2361. */ @SuppressWarnings("unchecked") - private void setupVirtualHosts(Configuration conf) throws ConfigurationException + protected void setupVirtualHosts(Configuration conf) throws ConfigurationException { List<String> vhostFiles = conf.getList("virtualhosts"); Configuration vhostConfig = conf.subset("virtualhosts"); diff --git a/java/systests/src/main/java/org/apache/qpid/server/logging/AbstractTestLogging.java b/java/systests/src/main/java/org/apache/qpid/server/logging/AbstractTestLogging.java index 7b59266eb3..f56f428f0b 100644 --- a/java/systests/src/main/java/org/apache/qpid/server/logging/AbstractTestLogging.java +++ b/java/systests/src/main/java/org/apache/qpid/server/logging/AbstractTestLogging.java @@ -20,19 +20,6 @@ */ package org.apache.qpid.server.logging; -import org.apache.qpid.server.configuration.ServerConfiguration; -import org.apache.qpid.server.configuration.VirtualHostConfiguration; -import org.apache.qpid.server.logging.actors.CurrentActor; -import org.apache.qpid.server.logging.actors.TestLogActor; -import org.apache.qpid.server.logging.subjects.AbstractTestLogSubject; -import org.apache.qpid.server.registry.ApplicationRegistry; -import org.apache.qpid.server.store.SkeletonMessageStore; -import org.apache.qpid.server.util.InternalBrokerBaseCase; -import org.apache.qpid.server.util.TestApplicationRegistry; -import org.apache.qpid.server.virtualhost.VirtualHost; -import org.apache.qpid.test.utils.QpidBrokerTestCase; -import org.apache.qpid.util.LogMonitor; - import java.io.FileNotFoundException; import java.io.IOException; import java.util.HashMap; @@ -40,6 +27,14 @@ import java.util.Iterator; import java.util.LinkedList; import java.util.List; +import org.apache.commons.configuration.ConfigurationException; +import org.apache.qpid.server.configuration.ServerConfiguration; +import org.apache.qpid.server.logging.subjects.AbstractTestLogSubject; +import org.apache.qpid.server.registry.ApplicationRegistry; +import org.apache.qpid.server.util.InternalBrokerBaseCase; +import org.apache.qpid.test.utils.QpidBrokerTestCase; +import org.apache.qpid.util.LogMonitor; + /** * Abstract superclass for logging test set up and utility methods. * @@ -50,7 +45,6 @@ public class AbstractTestLogging extends QpidBrokerTestCase public static final long DEFAULT_LOG_WAIT = 2000; public static final String TEST_LOG_PREFIX = "MESSAGE"; protected LogMonitor _monitor; - ServerConfiguration _serverConfiguration; InternalBrokerBaseCase _configLoader; @@ -61,61 +55,32 @@ public class AbstractTestLogging extends QpidBrokerTestCase super.setUp(); _monitor = new LogMonitor(_outputFile); + } + protected ServerConfiguration getServerConfig() throws ConfigurationException + { + ServerConfiguration _serverConfiguration; if (isExternalBroker()) { - _serverConfiguration = new ServerConfiguration(_configFile); - - _configLoader = new InternalBrokerBaseCase() + _serverConfiguration = new ServerConfiguration(_configFile) { @Override - protected void createBroker() throws Exception - { - setStarted(true); - CurrentActor.set(new TestLogActor(new SystemOutMessageLogger())); - - // Prevent the InVM broker from logging and spoiling tests. - _serverConfiguration.getConfig().setProperty(ServerConfiguration.STATUS_UPDATES, "off"); - - setConfiguration(_serverConfiguration); - setRegistry(new TestApplicationRegistry(getConfiguration()) - { - /** - * Create a virtualhost with a {@link org.apache.qpid.server.store.SkeletonMessageStore} instead - * of the configured one, but remember the original configuration. - */ - @Override - public VirtualHost createVirtualHost(final VirtualHostConfiguration vhostConfig) throws Exception - { - String oldClass = vhostConfig.getMessageStoreClass(); - vhostConfig.setMessageStoreClass(SkeletonMessageStore.class.getName()); - VirtualHost host = super.createVirtualHost(vhostConfig); - vhostConfig.setMessageStoreClass(oldClass); - return host; - } - }); - ApplicationRegistry.initialise(getRegistry()); - - } - - @Override - protected void stopBroker() + public void initialise() throws ConfigurationException { - ApplicationRegistry.remove(); + //Overriding initialise to only setup the vhosts and not + //perform the ConfigurationPlugin setup, removing need for + //an ApplicationRegistry to be loaded. + setupVirtualHosts(getConfig()); } }; - - // Set the test name as this will be used to define some default queues - // VirtualHost, use test as this is a default vhost name. - _configLoader.setName("test"); - - _configLoader.setUp(); + _serverConfiguration.initialise(); } else { _serverConfiguration = ApplicationRegistry.getInstance().getConfiguration(); } + return _serverConfiguration; } protected void setLogMessagePrefix() diff --git a/java/systests/src/main/java/org/apache/qpid/server/logging/MemoryMessageStoreLoggingTest.java b/java/systests/src/main/java/org/apache/qpid/server/logging/MemoryMessageStoreLoggingTest.java index 877560ea14..34d9e1f057 100644 --- a/java/systests/src/main/java/org/apache/qpid/server/logging/MemoryMessageStoreLoggingTest.java +++ b/java/systests/src/main/java/org/apache/qpid/server/logging/MemoryMessageStoreLoggingTest.java @@ -92,7 +92,7 @@ public class MemoryMessageStoreLoggingTest extends AbstractTestLogging results = waitAndFindMatches("MST-1001"); // Load VirtualHost list from file. - List<String> vhosts = Arrays.asList(_serverConfiguration.getVirtualHosts()); + List<String> vhosts = Arrays.asList(getServerConfig().getVirtualHosts()); assertEquals("Each vhost did not create a store.", vhosts.size(), results.size()); @@ -105,7 +105,7 @@ public class MemoryMessageStoreLoggingTest extends AbstractTestLogging String vhostName = AbstractTestLogSubject.getSlice("vh", result).substring(1); // Get the store class used in the configuration for the virtualhost. - String fullStoreName = _serverConfiguration.getVirtualHostConfig(vhostName).getMessageStoreClass(); + String fullStoreName = getServerConfig().getVirtualHostConfig(vhostName).getMessageStoreClass(); // Get the Simple class name from the expected class name of o.a.q.s.s.MMS String storeName = fullStoreName.substring(fullStoreName.lastIndexOf(".") + 1); diff --git a/java/systests/src/main/java/org/apache/qpid/server/logging/VirtualHostLoggingTest.java b/java/systests/src/main/java/org/apache/qpid/server/logging/VirtualHostLoggingTest.java index 17423123ca..a23e40ecce 100644 --- a/java/systests/src/main/java/org/apache/qpid/server/logging/VirtualHostLoggingTest.java +++ b/java/systests/src/main/java/org/apache/qpid/server/logging/VirtualHostLoggingTest.java @@ -68,7 +68,7 @@ public class VirtualHostLoggingTest extends AbstractTestLogging try { - List<String> vhosts = Arrays.asList(_serverConfiguration.getVirtualHosts()); + List<String> vhosts = Arrays.asList(getServerConfig().getVirtualHosts()); assertEquals("Each vhost did not create a store.", vhosts.size(), results.size()); |
