From 8e19ee98e29a6c3a3311b7fa77d7f5c626a00b91 Mon Sep 17 00:00:00 2001 From: Robert Gemmell Date: Thu, 7 Jul 2011 15:11:41 +0000 Subject: QPID-3026: remove incomplete support for multiple ApplicationRegistry instances to be active at one time Applied patch by Keith Wall and myself git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1143869 13f79535-47bb-0310-9956-ffa450edef68 --- .../main/java/org/apache/qpid/info/Activator.java | 9 +- .../security/access/FirewallConfigurationTest.java | 22 +- .../src/main/java/org/apache/qpid/server/Main.java | 2 +- .../configuration/plugins/ConfigurationPlugin.java | 33 +- .../server/management/DefaultManagedObject.java | 28 +- .../server/protocol/AMQProtocolEngineFactory.java | 2 +- .../MultiVersionProtocolEngineFactory.java | 2 +- .../qpid/server/registry/ApplicationRegistry.java | 142 ++---- .../qpid/server/registry/IApplicationRegistry.java | 3 +- .../qpid/tools/messagestore/MessageStoreTool.java | 4 +- .../configuration/ServerConfigurationTest.java | 534 ++++++++++----------- .../qpid/server/failover/FailoverMethodTest.java | 9 +- .../qpid/test/framework/qpid/CauseFailureInVM.java | 2 +- .../test/framework/qpid/InVMBrokerDecorator.java | 4 +- .../test/unit/ack/Acknowledge2ConsumersTest.java | 4 +- .../apache/qpid/test/utils/QpidBrokerTestCase.java | 4 +- qpid/java/test-profiles/JavaInVMExcludes | 19 + 17 files changed, 412 insertions(+), 411 deletions(-) diff --git a/qpid/java/broker-plugins/experimental/info/src/main/java/org/apache/qpid/info/Activator.java b/qpid/java/broker-plugins/experimental/info/src/main/java/org/apache/qpid/info/Activator.java index c7d3fd38ff..21e7be26c1 100644 --- a/qpid/java/broker-plugins/experimental/info/src/main/java/org/apache/qpid/info/Activator.java +++ b/qpid/java/broker-plugins/experimental/info/src/main/java/org/apache/qpid/info/Activator.java @@ -59,7 +59,14 @@ public class Activator implements BundleActivator _ctx = ctx; _service = new InfoServiceImpl(); ctx.registerService(InfoService.class.getName(), _service, null); - sendInfo("STARTUP"); + + new Thread(new Runnable() + { + public void run() + { + sendInfo("STARTUP"); + } + }).start(); } } diff --git a/qpid/java/broker-plugins/firewall/src/test/java/org/apache/qpid/server/security/access/FirewallConfigurationTest.java b/qpid/java/broker-plugins/firewall/src/test/java/org/apache/qpid/server/security/access/FirewallConfigurationTest.java index c0cb4aedce..d230a49bde 100644 --- a/qpid/java/broker-plugins/firewall/src/test/java/org/apache/qpid/server/security/access/FirewallConfigurationTest.java +++ b/qpid/java/broker-plugins/firewall/src/test/java/org/apache/qpid/server/security/access/FirewallConfigurationTest.java @@ -28,11 +28,11 @@ import java.net.InetSocketAddress; import org.apache.qpid.server.registry.ApplicationRegistry; import org.apache.qpid.server.registry.ConfigurationFileApplicationRegistry; -import org.apache.qpid.server.util.InternalBrokerBaseCase; import org.apache.qpid.server.virtualhost.VirtualHost; import org.apache.qpid.server.virtualhost.VirtualHostRegistry; +import org.apache.qpid.test.utils.QpidTestCase; -public class FirewallConfigurationTest extends InternalBrokerBaseCase +public class FirewallConfigurationTest extends QpidTestCase { public void testFirewallConfiguration() throws Exception { @@ -45,7 +45,7 @@ public class FirewallConfigurationTest extends InternalBrokerBaseCase ApplicationRegistry reg = new ConfigurationFileApplicationRegistry(mainFile); try { - ApplicationRegistry.initialise(reg, 1); + ApplicationRegistry.initialise(reg); // Test config assertFalse(reg.getSecurityManager().accessVirtualhost("test", new InetSocketAddress("127.0.0.1", 65535))); @@ -53,7 +53,7 @@ public class FirewallConfigurationTest extends InternalBrokerBaseCase } finally { - ApplicationRegistry.remove(1); + ApplicationRegistry.remove(); } } @@ -114,14 +114,14 @@ public class FirewallConfigurationTest extends InternalBrokerBaseCase ApplicationRegistry reg = new ConfigurationFileApplicationRegistry(mainFile); try { - ApplicationRegistry.initialise(reg, 1); + ApplicationRegistry.initialise(reg); // Test config assertFalse(reg.getSecurityManager().accessVirtualhost("test", new InetSocketAddress("127.0.0.1", 65535))); } finally { - ApplicationRegistry.remove(1); + ApplicationRegistry.remove(); } } @@ -137,7 +137,7 @@ public class FirewallConfigurationTest extends InternalBrokerBaseCase ApplicationRegistry reg = new ConfigurationFileApplicationRegistry(mainFile); try { - ApplicationRegistry.initialise(reg, 1); + ApplicationRegistry.initialise(reg); // Test config assertFalse(reg.getSecurityManager().accessVirtualhost("test", new InetSocketAddress("127.0.0.1", 65535))); @@ -151,7 +151,7 @@ public class FirewallConfigurationTest extends InternalBrokerBaseCase } finally { - ApplicationRegistry.remove(1); + ApplicationRegistry.remove(); } } @@ -211,7 +211,7 @@ public class FirewallConfigurationTest extends InternalBrokerBaseCase ApplicationRegistry reg = new ConfigurationFileApplicationRegistry(mainFile); try { - ApplicationRegistry.initialise(reg, 1); + ApplicationRegistry.initialise(reg); // Test config assertFalse(reg.getSecurityManager().accessVirtualhost("test", new InetSocketAddress("127.0.0.1", 65535))); @@ -248,7 +248,7 @@ public class FirewallConfigurationTest extends InternalBrokerBaseCase } finally { - ApplicationRegistry.remove(1); + ApplicationRegistry.remove(); } } @@ -334,7 +334,7 @@ public class FirewallConfigurationTest extends InternalBrokerBaseCase // Load config ApplicationRegistry reg = new ConfigurationFileApplicationRegistry(mainFile); - ApplicationRegistry.initialise(reg, 1); + ApplicationRegistry.initialise(reg); // Test config VirtualHostRegistry virtualHostRegistry = reg.getVirtualHostRegistry(); diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/Main.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/Main.java index 3d21afe279..2925db69de 100644 --- a/qpid/java/broker/src/main/java/org/apache/qpid/server/Main.java +++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/Main.java @@ -255,7 +255,7 @@ public class Main protected void shutdown(int status) { - ApplicationRegistry.removeAll(); + ApplicationRegistry.remove(); System.exit(status); } diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/plugins/ConfigurationPlugin.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/plugins/ConfigurationPlugin.java index 82b576ea51..b4f82649b0 100644 --- a/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/plugins/ConfigurationPlugin.java +++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/plugins/ConfigurationPlugin.java @@ -24,6 +24,7 @@ import org.apache.commons.configuration.ConversionException; import org.apache.log4j.Logger; import org.apache.qpid.server.configuration.ConfigurationManager; import org.apache.qpid.server.registry.ApplicationRegistry; +import org.apache.qpid.server.registry.IApplicationRegistry; import java.util.Collections; import java.util.HashMap; @@ -138,10 +139,28 @@ public abstract class ConfigurationPlugin } } + offerRemainingConfigurationToOtherPlugins(path, configuration, elements); + + validateConfiguration(); + } + + private void offerRemainingConfigurationToOtherPlugins(String path, + Configuration configuration, Set elements) throws ConfigurationException + { + final IApplicationRegistry appRegistry = safeGetApplicationRegistryInstance(); + + if (appRegistry == null) + { + // We see this happen during shutdown due to asynchronous reconfig using IO threads. + // Need to remove the responsibility for offering configuration to other class. + _logger.info("Cannot offer remaining config to other plugins, can't find app registry"); + return; + } + + final ConfigurationManager configurationManager = appRegistry.getConfigurationManager(); // Process the elements in the configuration for (String element : elements) { - ConfigurationManager configurationManager = ApplicationRegistry.getInstance().getConfigurationManager(); Configuration handled = element.length() == 0 ? configuration : configuration.subset(element); String configurationElement = element; @@ -162,8 +181,18 @@ public abstract class ConfigurationPlugin _pluginConfiguration.put(plugin.getClass().getName(), plugin); } } + } - validateConfiguration(); + private IApplicationRegistry safeGetApplicationRegistryInstance() + { + try + { + return ApplicationRegistry.getInstance(); + } + catch (IllegalStateException ise) + { + return null; + } } /** Helper method to print out list of keys in a {@link Configuration}. */ diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/management/DefaultManagedObject.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/management/DefaultManagedObject.java index 7924964fdf..e44b8c41cb 100644 --- a/qpid/java/broker/src/main/java/org/apache/qpid/server/management/DefaultManagedObject.java +++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/management/DefaultManagedObject.java @@ -26,8 +26,9 @@ import javax.management.NotCompliantMBeanException; import javax.management.ObjectName; import javax.management.StandardMBean; -import org.apache.qpid.AMQException; +import org.apache.log4j.Logger; import org.apache.qpid.server.registry.ApplicationRegistry; +import org.apache.qpid.server.registry.IApplicationRegistry; /** * Provides implementation of the boilerplate ManagedObject interface. Most managed objects should find it useful @@ -36,10 +37,14 @@ import org.apache.qpid.server.registry.ApplicationRegistry; */ public abstract class DefaultManagedObject extends StandardMBean implements ManagedObject { + private static final Logger LOGGER = Logger.getLogger(ApplicationRegistry.class); + private Class _managementInterface; private String _typeName; + private ManagedObjectRegistry _registry; + protected DefaultManagedObject(Class managementInterface, String typeName) throws NotCompliantMBeanException { @@ -65,23 +70,26 @@ public abstract class DefaultManagedObject extends StandardMBean implements Mana public void register() throws JMException { - getManagedObjectRegistry().registerObject(this); - } - - protected ManagedObjectRegistry getManagedObjectRegistry() - { - return ApplicationRegistry.getInstance().getManagedObjectRegistry(); + _registry = ApplicationRegistry.getInstance().getManagedObjectRegistry(); + _registry.registerObject(this); } - public void unregister() throws AMQException + public void unregister() { try { - getManagedObjectRegistry().unregisterObject(this); + if(_registry != null) + { + _registry.unregisterObject(this); + } } catch (JMException e) { - throw new AMQException("Error unregistering managed object: " + this + ": " + e, e); + LOGGER.error("Error unregistering managed object: " + this + ": " + e, e); + } + finally + { + _registry = null; } } diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQProtocolEngineFactory.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQProtocolEngineFactory.java index c8bdcd377b..94870c98bd 100644 --- a/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQProtocolEngineFactory.java +++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQProtocolEngineFactory.java @@ -38,7 +38,7 @@ public class AMQProtocolEngineFactory implements ProtocolEngineFactory public AMQProtocolEngineFactory(Integer port) { - _vhosts = ApplicationRegistry.getInstance(port).getVirtualHostRegistry(); + _vhosts = ApplicationRegistry.getInstance().getVirtualHostRegistry(); } diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/MultiVersionProtocolEngineFactory.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/MultiVersionProtocolEngineFactory.java index 09b31f2cc8..5ccd4ff188 100755 --- a/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/MultiVersionProtocolEngineFactory.java +++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/MultiVersionProtocolEngineFactory.java @@ -59,7 +59,7 @@ public class MultiVersionProtocolEngineFactory implements ProtocolEngineFactory public MultiVersionProtocolEngineFactory(int instance, String fqdn, Set supportedVersions) { - _appRegistry = ApplicationRegistry.getInstance(instance); + _appRegistry = ApplicationRegistry.getInstance(); _fqdn = fqdn; _supported = supportedVersions; } diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java index 924392eed4..3c6497d8be 100644 --- a/qpid/java/broker/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java +++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java @@ -26,6 +26,7 @@ import java.util.Map; import java.util.Timer; import java.util.TimerTask; import java.util.UUID; +import java.util.concurrent.atomic.AtomicReference; import org.apache.commons.configuration.ConfigurationException; import org.apache.log4j.Logger; @@ -63,6 +64,7 @@ import org.apache.qpid.server.virtualhost.VirtualHost; import org.apache.qpid.server.virtualhost.VirtualHostImpl; import org.apache.qpid.server.virtualhost.VirtualHostRegistry; + /** * An abstract application registry that provides access to configuration information and handles the * construction and caching of configurable objects. @@ -73,12 +75,10 @@ public abstract class ApplicationRegistry implements IApplicationRegistry { protected static final Logger _logger = Logger.getLogger(ApplicationRegistry.class); - private static Map _instanceMap = new HashMap(); + private static AtomicReference _instance = new AtomicReference(null); protected final ServerConfiguration _configuration; - public static final int DEFAULT_INSTANCE = 1; - protected final Map _acceptors = new HashMap(); protected ManagedObjectRegistry _managedObjectRegistry; @@ -106,8 +106,6 @@ public abstract class ApplicationRegistry implements IApplicationRegistry private BrokerConfig _broker; private ConfigStore _configStore; - - protected String _registryName; private Timer _reportingTimer; private boolean _statisticsEnabled = false; @@ -122,53 +120,54 @@ public abstract class ApplicationRegistry implements IApplicationRegistry { public void run() { - removeAll(); + remove(); } } public static void initialise(IApplicationRegistry instance) throws Exception { - initialise(instance, DEFAULT_INSTANCE); - } + if(instance == null) + { + throw new IllegalArgumentException("ApplicationRegistry instance must not be null"); + } - @SuppressWarnings("finally") - public static void initialise(IApplicationRegistry instance, int instanceID) throws Exception - { - if (instance != null) + if(!_instance.compareAndSet(null, instance)) { - _logger.info("Initialising Application Registry(" + instance + "):" + instanceID); - _instanceMap.put(instanceID, instance); + throw new IllegalStateException("An ApplicationRegistry is already initialised"); + } + + _logger.info("Initialising Application Registry(" + instance + ")"); - final ConfigStore store = ConfigStore.newInstance(); - store.setRoot(new SystemConfigImpl(store)); - instance.setConfigStore(store); - BrokerConfig broker = new BrokerConfigAdapter(instance); + final ConfigStore store = ConfigStore.newInstance(); + store.setRoot(new SystemConfigImpl(store)); + instance.setConfigStore(store); - SystemConfig system = (SystemConfig) store.getRoot(); - system.addBroker(broker); - instance.setBroker(broker); + BrokerConfig broker = new BrokerConfigAdapter(instance); + SystemConfig system = (SystemConfig) store.getRoot(); + system.addBroker(broker); + instance.setBroker(broker); + + try + { + instance.initialise(); + } + catch (Exception e) + { + _instance.set(null); + + //remove the Broker instance, then re-throw try { - instance.initialise(instanceID); + system.removeBroker(broker); } - catch (Exception e) + catch(Throwable t) { - _instanceMap.remove(instanceID); - try - { - system.removeBroker(broker); - } - finally - { - throw e; - } + //ignore } - } - else - { - remove(instanceID); + + throw e; } } @@ -184,35 +183,19 @@ public abstract class ApplicationRegistry implements IApplicationRegistry public static boolean isConfigured() { - return isConfigured(DEFAULT_INSTANCE); - } - - public static boolean isConfigured(int instanceID) - { - return _instanceMap.containsKey(instanceID); + return _instance.get() != null; } - /** Method to cleanly shutdown the default registry running in this JVM */ public static void remove() { - remove(DEFAULT_INSTANCE); - } - - /** - * Method to cleanly shutdown specified registry running in this JVM - * - * @param instanceID the instance to shutdown - */ - public static void remove(int instanceID) - { + IApplicationRegistry instance = _instance.getAndSet(null); try { - IApplicationRegistry instance = _instanceMap.get(instanceID); if (instance != null) { if (_logger.isInfoEnabled()) { - _logger.info("Shutting down ApplicationRegistry(" + instanceID + "):" + instance); + _logger.info("Shutting down ApplicationRegistry(" + instance + ")"); } instance.close(); instance.getBroker().getSystem().removeBroker(instance.getBroker()); @@ -220,21 +203,7 @@ public abstract class ApplicationRegistry implements IApplicationRegistry } catch (Exception e) { - _logger.error("Error shutting down Application Registry(" + instanceID + "): " + e, e); - } - finally - { - _instanceMap.remove(instanceID); - } - } - - /** Method to cleanly shutdown all registries currently running in this JVM */ - public static void removeAll() - { - Object[] keys = _instanceMap.keySet().toArray(); - for (Object k : keys) - { - remove((Integer) k); + _logger.error("Error shutting down Application Registry(" + instance + "): " + e, e); } } @@ -259,11 +228,10 @@ public abstract class ApplicationRegistry implements IApplicationRegistry _configuration.initialise(); } - public void initialise(int instanceID) throws Exception + public void initialise() throws Exception { //Create the RootLogger to be used during broker operation _rootMessageLogger = new Log4jMessageLogger(_configuration); - _registryName = String.valueOf(instanceID); //Create the composite (log4j+SystemOut MessageLogger to be used during startup RootMessageLogger[] messageLoggers = {new SystemOutMessageLogger(), _rootMessageLogger}; @@ -397,25 +365,21 @@ public abstract class ApplicationRegistry implements IApplicationRegistry } } - public static IApplicationRegistry getInstance() - { - return getInstance(DEFAULT_INSTANCE); - } - - public static IApplicationRegistry getInstance(int instanceID) + /** + * Get the ApplicationRegistry + * @return the IApplicationRegistry instance + * @throws IllegalStateException if no registry instance has been initialised. + */ + public static IApplicationRegistry getInstance() throws IllegalStateException { - synchronized (IApplicationRegistry.class) + IApplicationRegistry iApplicationRegistry = _instance.get(); + if (iApplicationRegistry == null) { - IApplicationRegistry instance = _instanceMap.get(instanceID); - - if (instance == null) - { - throw new IllegalStateException("Application Registry (" + instanceID + ") not created"); - } - else - { - return instance; - } + throw new IllegalStateException("No ApplicationRegistry has been initialised"); + } + else + { + return iApplicationRegistry; } } diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/registry/IApplicationRegistry.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/registry/IApplicationRegistry.java index 0ef55097ce..dbd3780c73 100644 --- a/qpid/java/broker/src/main/java/org/apache/qpid/server/registry/IApplicationRegistry.java +++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/registry/IApplicationRegistry.java @@ -46,9 +46,8 @@ public interface IApplicationRegistry extends StatisticsGatherer * Initialise the application registry. All initialisation must be done in this method so that any components * that need access to the application registry itself for initialisation are able to use it. Attempting to * initialise in the constructor will lead to failures since the registry reference will not have been set. - * @param instanceID the instanceID that we can use to identify this AR. */ - void initialise(int instanceID) throws Exception; + void initialise() throws Exception; /** * Shutdown this Registry diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/tools/messagestore/MessageStoreTool.java b/qpid/java/broker/src/main/java/org/apache/qpid/tools/messagestore/MessageStoreTool.java index dca165fa7e..2c0ceed80b 100644 --- a/qpid/java/broker/src/main/java/org/apache/qpid/tools/messagestore/MessageStoreTool.java +++ b/qpid/java/broker/src/main/java/org/apache/qpid/tools/messagestore/MessageStoreTool.java @@ -192,7 +192,7 @@ public class MessageStoreTool if (_initialised) { - ApplicationRegistry.remove(1); + ApplicationRegistry.remove(); } _console.println("...exiting"); @@ -274,7 +274,7 @@ public class MessageStoreTool { ConfigurationFileApplicationRegistry registry = new ConfigurationFileApplicationRegistry(configFile); - ApplicationRegistry.remove(1); + ApplicationRegistry.remove(); ApplicationRegistry.initialise(registry); diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java index f8640d136f..dcc8bda71a 100644 --- a/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java +++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java @@ -34,86 +34,97 @@ import org.apache.qpid.framing.AMQShortString; import org.apache.qpid.server.exchange.Exchange; import org.apache.qpid.server.registry.ApplicationRegistry; import org.apache.qpid.server.registry.ConfigurationFileApplicationRegistry; -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.server.virtualhost.VirtualHostRegistry; +import org.apache.qpid.test.utils.QpidTestCase; -public class ServerConfigurationTest extends InternalBrokerBaseCase +public class ServerConfigurationTest extends QpidTestCase { private XMLConfiguration _config = new XMLConfiguration(); + private ServerConfiguration _serverConfig = null; + + @Override + protected void setUp() throws Exception + { + super.setUp(); + _serverConfig = new ServerConfiguration(_config); + ApplicationRegistry.initialise(new TestApplicationRegistry(_serverConfig)); + } + + @Override + protected void tearDown() throws Exception + { + super.tearDown(); + ApplicationRegistry.remove(); + } + public void testSetJMXManagementPort() throws ConfigurationException { - ServerConfiguration serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - serverConfig.setJMXManagementPort(23); - assertEquals(23, serverConfig.getJMXManagementPort()); + _serverConfig.initialise(); + _serverConfig.setJMXManagementPort(23); + assertEquals(23, _serverConfig.getJMXManagementPort()); } public void testGetJMXManagementPort() throws ConfigurationException { _config.setProperty("management.jmxport", 42); - ServerConfiguration serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(42, serverConfig.getJMXManagementPort()); + _serverConfig.initialise(); + assertEquals(42, _serverConfig.getJMXManagementPort()); } public void testGetPlatformMbeanserver() throws ConfigurationException { - // Check default - ServerConfiguration serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(true, serverConfig.getPlatformMbeanserver()); + _serverConfig.initialise(); + assertEquals(true, _serverConfig.getPlatformMbeanserver()); // Check value we set _config.setProperty("management.platform-mbeanserver", false); - serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(false, serverConfig.getPlatformMbeanserver()); + _serverConfig = new ServerConfiguration(_config); + _serverConfig.initialise(); + assertEquals(false, _serverConfig.getPlatformMbeanserver()); } public void testGetPluginDirectory() throws ConfigurationException { // Check default - ServerConfiguration serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(null, serverConfig.getPluginDirectory()); + _serverConfig.initialise(); + assertEquals(null, _serverConfig.getPluginDirectory()); // Check value we set _config.setProperty("plugin-directory", "/path/to/plugins"); - serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals("/path/to/plugins", serverConfig.getPluginDirectory()); + _serverConfig = new ServerConfiguration(_config); + _serverConfig.initialise(); + assertEquals("/path/to/plugins", _serverConfig.getPluginDirectory()); } public void testGetCacheDirectory() throws ConfigurationException { // Check default - ServerConfiguration serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(null, serverConfig.getCacheDirectory()); + _serverConfig.initialise(); + assertEquals(null, _serverConfig.getCacheDirectory()); // Check value we set _config.setProperty("cache-directory", "/path/to/cache"); - serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals("/path/to/cache", serverConfig.getCacheDirectory()); + _serverConfig = new ServerConfiguration(_config); + _serverConfig.initialise(); + assertEquals("/path/to/cache", _serverConfig.getCacheDirectory()); } public void testGetPrincipalDatabaseNames() throws ConfigurationException { // Check default - ServerConfiguration serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(0, serverConfig.getPrincipalDatabaseNames().size()); + _serverConfig.initialise(); + assertEquals(0, _serverConfig.getPrincipalDatabaseNames().size()); // Check value we set _config.setProperty("security.principal-databases.principal-database(0).name", "a"); _config.setProperty("security.principal-databases.principal-database(1).name", "b"); - serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - List dbs = serverConfig.getPrincipalDatabaseNames(); + _serverConfig = new ServerConfiguration(_config); + _serverConfig.initialise(); + List dbs = _serverConfig.getPrincipalDatabaseNames(); assertEquals(2, dbs.size()); assertEquals("a", dbs.get(0)); assertEquals("b", dbs.get(1)); @@ -122,16 +133,15 @@ public class ServerConfigurationTest extends InternalBrokerBaseCase public void testGetPrincipalDatabaseClass() throws ConfigurationException { // Check default - ServerConfiguration serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(0, serverConfig.getPrincipalDatabaseClass().size()); + _serverConfig.initialise(); + assertEquals(0, _serverConfig.getPrincipalDatabaseClass().size()); // Check value we set _config.setProperty("security.principal-databases.principal-database(0).class", "a"); _config.setProperty("security.principal-databases.principal-database(1).class", "b"); - serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - List dbs = serverConfig.getPrincipalDatabaseClass(); + _serverConfig = new ServerConfiguration(_config); + _serverConfig.initialise(); + List dbs = _serverConfig.getPrincipalDatabaseClass(); assertEquals(2, dbs.size()); assertEquals("a", dbs.get(0)); assertEquals("b", dbs.get(1)); @@ -140,16 +150,15 @@ public class ServerConfigurationTest extends InternalBrokerBaseCase public void testGetPrincipalDatabaseAttributeNames() throws ConfigurationException { // Check default - ServerConfiguration serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(0, serverConfig.getPrincipalDatabaseAttributeNames(1).size()); + _serverConfig.initialise(); + assertEquals(0, _serverConfig.getPrincipalDatabaseAttributeNames(1).size()); // Check value we set _config.setProperty("security.principal-databases.principal-database(0).attributes(0).attribute.name", "a"); _config.setProperty("security.principal-databases.principal-database(0).attributes(1).attribute.name", "b"); - serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - List dbs = serverConfig.getPrincipalDatabaseAttributeNames(0); + _serverConfig = new ServerConfiguration(_config); + _serverConfig.initialise(); + List dbs = _serverConfig.getPrincipalDatabaseAttributeNames(0); assertEquals(2, dbs.size()); assertEquals("a", dbs.get(0)); assertEquals("b", dbs.get(1)); @@ -158,16 +167,15 @@ public class ServerConfigurationTest extends InternalBrokerBaseCase public void testGetPrincipalDatabaseAttributeValues() throws ConfigurationException { // Check default - ServerConfiguration serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(0, serverConfig.getPrincipalDatabaseAttributeValues(1).size()); + _serverConfig.initialise(); + assertEquals(0, _serverConfig.getPrincipalDatabaseAttributeValues(1).size()); // Check value we set _config.setProperty("security.principal-databases.principal-database(0).attributes(0).attribute.value", "a"); _config.setProperty("security.principal-databases.principal-database(0).attributes(1).attribute.value", "b"); - serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - List dbs = serverConfig.getPrincipalDatabaseAttributeValues(0); + _serverConfig = new ServerConfiguration(_config); + _serverConfig.initialise(); + List dbs = _serverConfig.getPrincipalDatabaseAttributeValues(0); assertEquals(2, dbs.size()); assertEquals("a", dbs.get(0)); assertEquals("b", dbs.get(1)); @@ -178,493 +186,460 @@ public class ServerConfigurationTest extends InternalBrokerBaseCase public void testGetFrameSize() throws ConfigurationException { // Check default - ServerConfiguration serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(65536, serverConfig.getFrameSize()); + _serverConfig.initialise(); + assertEquals(65536, _serverConfig.getFrameSize()); // Check value we set _config.setProperty("advanced.framesize", "23"); - serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(23, serverConfig.getFrameSize()); + _serverConfig = new ServerConfiguration(_config); + _serverConfig.initialise(); + assertEquals(23, _serverConfig.getFrameSize()); } public void testGetStatusEnabled() throws ConfigurationException { // Check default - ServerConfiguration serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); + _serverConfig.initialise(); assertEquals(ServerConfiguration.DEFAULT_STATUS_UPDATES.equalsIgnoreCase("on"), - serverConfig.getStatusUpdatesEnabled()); + _serverConfig.getStatusUpdatesEnabled()); // Check disabling we set _config.setProperty(ServerConfiguration.STATUS_UPDATES, "off"); - serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(false, serverConfig.getStatusUpdatesEnabled()); + _serverConfig = new ServerConfiguration(_config); + _serverConfig.initialise(); + assertEquals(false, _serverConfig.getStatusUpdatesEnabled()); // Check invalid values don't cause error but result in disabled _config.setProperty(ServerConfiguration.STATUS_UPDATES, "Yes Please"); - serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(false, serverConfig.getStatusUpdatesEnabled()); + _serverConfig = new ServerConfiguration(_config); + _serverConfig.initialise(); + assertEquals(false, _serverConfig.getStatusUpdatesEnabled()); } public void testGetSynchedClocks() throws ConfigurationException { // Check default - ServerConfiguration serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(false, serverConfig.getSynchedClocks()); + _serverConfig.initialise(); + assertEquals(false, _serverConfig.getSynchedClocks()); // Check value we set _config.setProperty("advanced.synced-clocks", true); - serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(true, serverConfig.getSynchedClocks()); + _serverConfig = new ServerConfiguration(_config); + _serverConfig.initialise(); + assertEquals(true, _serverConfig.getSynchedClocks()); } public void testGetLocale() throws ConfigurationException { // Check default - ServerConfiguration serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); + _serverConfig.initialise(); // The Default is what ever the VMs default is Locale defaultLocale = Locale.getDefault(); - assertEquals(defaultLocale, serverConfig.getLocale()); + assertEquals(defaultLocale, _serverConfig.getLocale()); //Test Language only Locale update = new Locale("es"); _config.setProperty(ServerConfiguration.ADVANCED_LOCALE, "es"); - serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(update, serverConfig.getLocale()); + _serverConfig = new ServerConfiguration(_config); + _serverConfig.initialise(); + assertEquals(update, _serverConfig.getLocale()); //Test Language and Country update = new Locale("es","ES"); _config.setProperty(ServerConfiguration.ADVANCED_LOCALE, "es_ES"); - serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(update, serverConfig.getLocale()); + _serverConfig = new ServerConfiguration(_config); + _serverConfig.initialise(); + assertEquals(update, _serverConfig.getLocale()); //Test Language and Country and Variant update = new Locale("es","ES", "Traditional_WIN"); _config.setProperty(ServerConfiguration.ADVANCED_LOCALE, "es_ES_Traditional_WIN"); - serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(update, serverConfig.getLocale()); + _serverConfig = new ServerConfiguration(_config); + _serverConfig.initialise(); + assertEquals(update, _serverConfig.getLocale()); } public void testGetMsgAuth() throws ConfigurationException { // Check default - ServerConfiguration serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(false, serverConfig.getMsgAuth()); + _serverConfig.initialise(); + assertEquals(false, _serverConfig.getMsgAuth()); // Check value we set _config.setProperty("security.msg-auth", true); - serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(true, serverConfig.getMsgAuth()); + _serverConfig = new ServerConfiguration(_config); + _serverConfig.initialise(); + assertEquals(true, _serverConfig.getMsgAuth()); } public void testGetManagementKeyStorePath() throws ConfigurationException { // Check default - ServerConfiguration serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(null, serverConfig.getManagementKeyStorePath()); + _serverConfig.initialise(); + assertEquals(null, _serverConfig.getManagementKeyStorePath()); // Check value we set _config.setProperty("management.ssl.keyStorePath", "a"); - serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals("a", serverConfig.getManagementKeyStorePath()); + _serverConfig = new ServerConfiguration(_config); + _serverConfig.initialise(); + assertEquals("a", _serverConfig.getManagementKeyStorePath()); } public void testGetManagementSSLEnabled() throws ConfigurationException { // Check default - ServerConfiguration serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(true, serverConfig.getManagementSSLEnabled()); + _serverConfig.initialise(); + assertEquals(true, _serverConfig.getManagementSSLEnabled()); // Check value we set _config.setProperty("management.ssl.enabled", false); - serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(false, serverConfig.getManagementSSLEnabled()); + _serverConfig = new ServerConfiguration(_config); + _serverConfig.initialise(); + assertEquals(false, _serverConfig.getManagementSSLEnabled()); } public void testGetManagementKeyStorePassword() throws ConfigurationException { // Check default - ServerConfiguration serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(null, serverConfig.getManagementKeyStorePassword()); + _serverConfig.initialise(); + assertEquals(null, _serverConfig.getManagementKeyStorePassword()); // Check value we set _config.setProperty("management.ssl.keyStorePassword", "a"); - serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals("a", serverConfig.getManagementKeyStorePassword()); + _serverConfig = new ServerConfiguration(_config); + _serverConfig.initialise(); + assertEquals("a", _serverConfig.getManagementKeyStorePassword()); } public void testGetQueueAutoRegister() throws ConfigurationException { // Check default - ServerConfiguration serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(true, serverConfig.getQueueAutoRegister()); + _serverConfig.initialise(); + assertEquals(true, _serverConfig.getQueueAutoRegister()); // Check value we set _config.setProperty("queue.auto_register", false); - serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(false, serverConfig.getQueueAutoRegister()); + _serverConfig = new ServerConfiguration(_config); + _serverConfig.initialise(); + assertEquals(false, _serverConfig.getQueueAutoRegister()); } public void testGetManagementEnabled() throws ConfigurationException { // Check default - ServerConfiguration serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(true, serverConfig.getManagementEnabled()); + _serverConfig.initialise(); + assertEquals(true, _serverConfig.getManagementEnabled()); // Check value we set _config.setProperty("management.enabled", false); - serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(false, serverConfig.getManagementEnabled()); + _serverConfig = new ServerConfiguration(_config); + _serverConfig.initialise(); + assertEquals(false, _serverConfig.getManagementEnabled()); } public void testSetManagementEnabled() throws ConfigurationException { // Check value we set - ServerConfiguration serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - serverConfig.setManagementEnabled(false); - assertEquals(false, serverConfig.getManagementEnabled()); + _serverConfig.initialise(); + _serverConfig.setManagementEnabled(false); + assertEquals(false, _serverConfig.getManagementEnabled()); } public void testGetHeartBeatDelay() throws ConfigurationException { // Check default - ServerConfiguration serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(5, serverConfig.getHeartBeatDelay()); + _serverConfig.initialise(); + assertEquals(5, _serverConfig.getHeartBeatDelay()); // Check value we set _config.setProperty("heartbeat.delay", 23); - serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(23, serverConfig.getHeartBeatDelay()); + _serverConfig = new ServerConfiguration(_config); + _serverConfig.initialise(); + assertEquals(23, _serverConfig.getHeartBeatDelay()); } public void testGetHeartBeatTimeout() throws ConfigurationException { // Check default - ServerConfiguration serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(2.0, serverConfig.getHeartBeatTimeout()); + _serverConfig.initialise(); + assertEquals(2.0, _serverConfig.getHeartBeatTimeout()); // Check value we set _config.setProperty("heartbeat.timeoutFactor", 2.3); - serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(2.3, serverConfig.getHeartBeatTimeout()); + _serverConfig = new ServerConfiguration(_config); + _serverConfig.initialise(); + assertEquals(2.3, _serverConfig.getHeartBeatTimeout()); } public void testGetMaximumMessageAge() throws ConfigurationException { // Check default - ServerConfiguration serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(0, serverConfig.getMaximumMessageAge()); + _serverConfig.initialise(); + assertEquals(0, _serverConfig.getMaximumMessageAge()); // Check value we set _config.setProperty("maximumMessageAge", 10L); - serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(10, serverConfig.getMaximumMessageAge()); + _serverConfig = new ServerConfiguration(_config); + _serverConfig.initialise(); + assertEquals(10, _serverConfig.getMaximumMessageAge()); } public void testGetMaximumMessageCount() throws ConfigurationException { // Check default - ServerConfiguration serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(0, serverConfig.getMaximumMessageCount()); + _serverConfig.initialise(); + assertEquals(0, _serverConfig.getMaximumMessageCount()); // Check value we set _config.setProperty("maximumMessageCount", 10L); - serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(10, serverConfig.getMaximumMessageCount()); + _serverConfig = new ServerConfiguration(_config); + _serverConfig.initialise(); + assertEquals(10, _serverConfig.getMaximumMessageCount()); } public void testGetMaximumQueueDepth() throws ConfigurationException { // Check default - ServerConfiguration serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(0, serverConfig.getMaximumQueueDepth()); + _serverConfig.initialise(); + assertEquals(0, _serverConfig.getMaximumQueueDepth()); // Check value we set _config.setProperty("maximumQueueDepth", 10L); - serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(10, serverConfig.getMaximumQueueDepth()); + _serverConfig = new ServerConfiguration(_config); + _serverConfig.initialise(); + assertEquals(10, _serverConfig.getMaximumQueueDepth()); } public void testGetMaximumMessageSize() throws ConfigurationException { // Check default - ServerConfiguration serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(0, serverConfig.getMaximumMessageSize()); + _serverConfig.initialise(); + assertEquals(0, _serverConfig.getMaximumMessageSize()); // Check value we set _config.setProperty("maximumMessageSize", 10L); - serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(10, serverConfig.getMaximumMessageSize()); + _serverConfig = new ServerConfiguration(_config); + _serverConfig.initialise(); + assertEquals(10, _serverConfig.getMaximumMessageSize()); } public void testGetMinimumAlertRepeatGap() throws ConfigurationException { // Check default - ServerConfiguration serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(0, serverConfig.getMinimumAlertRepeatGap()); + _serverConfig.initialise(); + assertEquals(0, _serverConfig.getMinimumAlertRepeatGap()); // Check value we set _config.setProperty("minimumAlertRepeatGap", 10L); - serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(10, serverConfig.getMinimumAlertRepeatGap()); + _serverConfig = new ServerConfiguration(_config); + _serverConfig.initialise(); + assertEquals(10, _serverConfig.getMinimumAlertRepeatGap()); } public void testGetProcessors() throws ConfigurationException { // Check default - ServerConfiguration serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(4, serverConfig.getConnectorProcessors()); + _serverConfig.initialise(); + assertEquals(4, _serverConfig.getConnectorProcessors()); // Check value we set _config.setProperty("connector.processors", 10); - serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(10, serverConfig.getConnectorProcessors()); - } + _serverConfig = new ServerConfiguration(_config); + _serverConfig.initialise(); + assertEquals(10, _serverConfig.getConnectorProcessors()); + } public void testGetPort() throws ConfigurationException { // Check default - ServerConfiguration serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertNotNull(serverConfig.getPorts()); - assertEquals(1, serverConfig.getPorts().size()); - assertEquals(5672, serverConfig.getPorts().get(0)); + _serverConfig.initialise(); + assertNotNull(_serverConfig.getPorts()); + assertEquals(1, _serverConfig.getPorts().size()); + assertEquals(5672, _serverConfig.getPorts().get(0)); // Check value we set _config.setProperty("connector.port", "10"); - serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertNotNull(serverConfig.getPorts()); - assertEquals(1, serverConfig.getPorts().size()); - assertEquals("10", serverConfig.getPorts().get(0)); + _serverConfig = new ServerConfiguration(_config); + _serverConfig.initialise(); + assertNotNull(_serverConfig.getPorts()); + assertEquals(1, _serverConfig.getPorts().size()); + assertEquals("10", _serverConfig.getPorts().get(0)); } public void testGetBind() throws ConfigurationException { // Check default - ServerConfiguration serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(WILDCARD_ADDRESS, serverConfig.getBind()); + _serverConfig.initialise(); + assertEquals(WILDCARD_ADDRESS, _serverConfig.getBind()); // Check value we set _config.setProperty("connector.bind", "a"); - serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals("a", serverConfig.getBind()); + _serverConfig = new ServerConfiguration(_config); + _serverConfig.initialise(); + assertEquals("a", _serverConfig.getBind()); } public void testGetReceiveBufferSize() throws ConfigurationException { // Check default - ServerConfiguration serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(ServerConfiguration.DEFAULT_BUFFER_SIZE, serverConfig.getReceiveBufferSize()); + _serverConfig.initialise(); + assertEquals(ServerConfiguration.DEFAULT_BUFFER_SIZE, _serverConfig.getReceiveBufferSize()); // Check value we set _config.setProperty("connector.socketReceiveBuffer", "23"); - serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(23, serverConfig.getReceiveBufferSize()); + _serverConfig = new ServerConfiguration(_config); + _serverConfig.initialise(); + assertEquals(23, _serverConfig.getReceiveBufferSize()); } public void testGetWriteBufferSize() throws ConfigurationException { // Check default - ServerConfiguration serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(ServerConfiguration.DEFAULT_BUFFER_SIZE, serverConfig.getWriteBufferSize()); + _serverConfig.initialise(); + assertEquals(ServerConfiguration.DEFAULT_BUFFER_SIZE, _serverConfig.getWriteBufferSize()); // Check value we set _config.setProperty("connector.socketWriteBuffer", "23"); - serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(23, serverConfig.getWriteBufferSize()); + _serverConfig = new ServerConfiguration(_config); + _serverConfig.initialise(); + assertEquals(23, _serverConfig.getWriteBufferSize()); } public void testGetTcpNoDelay() throws ConfigurationException { // Check default - ServerConfiguration serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(true, serverConfig.getTcpNoDelay()); + _serverConfig.initialise(); + assertEquals(true, _serverConfig.getTcpNoDelay()); // Check value we set _config.setProperty("connector.tcpNoDelay", false); - serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(false, serverConfig.getTcpNoDelay()); + _serverConfig = new ServerConfiguration(_config); + _serverConfig.initialise(); + assertEquals(false, _serverConfig.getTcpNoDelay()); } public void testGetEnableExecutorPool() throws ConfigurationException { // Check default - ServerConfiguration serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(false, serverConfig.getEnableExecutorPool()); + _serverConfig.initialise(); + assertEquals(false, _serverConfig.getEnableExecutorPool()); // Check value we set _config.setProperty("advanced.filterchain[@enableExecutorPool]", true); - serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(true, serverConfig.getEnableExecutorPool()); + _serverConfig = new ServerConfiguration(_config); + _serverConfig.initialise(); + assertEquals(true, _serverConfig.getEnableExecutorPool()); } public void testGetEnableSSL() throws ConfigurationException { // Check default - ServerConfiguration serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(false, serverConfig.getEnableSSL()); + _serverConfig.initialise(); + assertEquals(false, _serverConfig.getEnableSSL()); // Check value we set _config.setProperty("connector.ssl.enabled", true); - serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(true, serverConfig.getEnableSSL()); + _serverConfig = new ServerConfiguration(_config); + _serverConfig.initialise(); + assertEquals(true, _serverConfig.getEnableSSL()); } public void testGetSSLOnly() throws ConfigurationException { // Check default - ServerConfiguration serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(false, serverConfig.getSSLOnly()); + _serverConfig.initialise(); + assertEquals(false, _serverConfig.getSSLOnly()); // Check value we set _config.setProperty("connector.ssl.sslOnly", true); - serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(true, serverConfig.getSSLOnly()); + _serverConfig = new ServerConfiguration(_config); + _serverConfig.initialise(); + assertEquals(true, _serverConfig.getSSLOnly()); } public void testGetSSLPort() throws ConfigurationException { // Check default - ServerConfiguration serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(8672, serverConfig.getSSLPort()); + _serverConfig.initialise(); + assertEquals(8672, _serverConfig.getSSLPort()); // Check value we set _config.setProperty("connector.ssl.port", 23); - serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(23, serverConfig.getSSLPort()); + _serverConfig = new ServerConfiguration(_config); + _serverConfig.initialise(); + assertEquals(23, _serverConfig.getSSLPort()); } public void testGetKeystorePath() throws ConfigurationException { // Check default - ServerConfiguration serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals("none", serverConfig.getKeystorePath()); + _serverConfig.initialise(); + assertEquals("none", _serverConfig.getKeystorePath()); // Check value we set _config.setProperty("connector.ssl.keystorePath", "a"); - serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals("a", serverConfig.getKeystorePath()); + _serverConfig = new ServerConfiguration(_config); + _serverConfig.initialise(); + assertEquals("a", _serverConfig.getKeystorePath()); } public void testGetKeystorePassword() throws ConfigurationException { // Check default - ServerConfiguration serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals("none", serverConfig.getKeystorePassword()); + _serverConfig.initialise(); + assertEquals("none", _serverConfig.getKeystorePassword()); // Check value we set _config.setProperty("connector.ssl.keystorePassword", "a"); - serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals("a", serverConfig.getKeystorePassword()); + _serverConfig = new ServerConfiguration(_config); + _serverConfig.initialise(); + assertEquals("a", _serverConfig.getKeystorePassword()); } public void testGetCertType() throws ConfigurationException { // Check default - ServerConfiguration serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals("SunX509", serverConfig.getCertType()); + _serverConfig.initialise(); + assertEquals("SunX509", _serverConfig.getCertType()); // Check value we set _config.setProperty("connector.ssl.certType", "a"); - serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals("a", serverConfig.getCertType()); + _serverConfig = new ServerConfiguration(_config); + _serverConfig.initialise(); + assertEquals("a", _serverConfig.getCertType()); } public void testGetUseBiasedWrites() throws ConfigurationException { // Check default - ServerConfiguration serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(false, serverConfig.getUseBiasedWrites()); + _serverConfig.initialise(); + assertEquals(false, _serverConfig.getUseBiasedWrites()); // Check value we set _config.setProperty("advanced.useWriteBiasedPool", true); - serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(true, serverConfig.getUseBiasedWrites()); + _serverConfig = new ServerConfiguration(_config); + _serverConfig.initialise(); + assertEquals(true, _serverConfig.getUseBiasedWrites()); } public void testGetHousekeepingExpiredMessageCheckPeriod() throws ConfigurationException { // Check default - ServerConfiguration serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(30000, serverConfig.getHousekeepingCheckPeriod()); + _serverConfig.initialise(); + assertEquals(30000, _serverConfig.getHousekeepingCheckPeriod()); // Check value we set _config.setProperty("housekeeping.expiredMessageCheckPeriod", 23L); - serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); - assertEquals(23, serverConfig.getHousekeepingCheckPeriod()); - serverConfig.setHousekeepingExpiredMessageCheckPeriod(42L); - assertEquals(42, serverConfig.getHousekeepingCheckPeriod()); + _serverConfig = new ServerConfiguration(_config); + _serverConfig.initialise(); + assertEquals(23, _serverConfig.getHousekeepingCheckPeriod()); + _serverConfig.setHousekeepingExpiredMessageCheckPeriod(42L); + assertEquals(42, _serverConfig.getHousekeepingCheckPeriod()); } public void testSingleConfiguration() throws IOException, ConfigurationException @@ -939,8 +914,9 @@ public class ServerConfigurationTest extends InternalBrokerBaseCase writeConfigFile(mainFile, false, true, null, "test"); // Load config + ApplicationRegistry.remove(); ApplicationRegistry reg = new ConfigurationFileApplicationRegistry(mainFile); - ApplicationRegistry.initialise(reg, 1); + ApplicationRegistry.initialise(reg); // Test config VirtualHostRegistry virtualHostRegistry = reg.getVirtualHostRegistry(); @@ -971,8 +947,9 @@ public class ServerConfigurationTest extends InternalBrokerBaseCase writeVirtualHostsFile(vhostsFile, "test"); // Load config + ApplicationRegistry.remove(); ApplicationRegistry reg = new ConfigurationFileApplicationRegistry(mainFile); - ApplicationRegistry.initialise(reg, 1); + ApplicationRegistry.initialise(reg); // Test config VirtualHostRegistry virtualHostRegistry = reg.getVirtualHostRegistry(); @@ -1005,8 +982,9 @@ public class ServerConfigurationTest extends InternalBrokerBaseCase writeConfigFile(mainFile, false, false, vhostsFile, null); // Load config + ApplicationRegistry.remove(); ApplicationRegistry reg = new ConfigurationFileApplicationRegistry(mainFile); - ApplicationRegistry.initialise(reg, 1); + ApplicationRegistry.initialise(reg); // Test config VirtualHostRegistry virtualHostRegistry = reg.getVirtualHostRegistry(); @@ -1048,9 +1026,10 @@ public class ServerConfigurationTest extends InternalBrokerBaseCase // Load config try - { + { + ApplicationRegistry.remove(); ApplicationRegistry reg = new ConfigurationFileApplicationRegistry(mainFile); - ApplicationRegistry.initialise(reg, 1); + ApplicationRegistry.initialise(reg); fail("Different virtualhost XML configurations not allowed"); } catch (ConfigurationException ce) @@ -1083,8 +1062,9 @@ public class ServerConfigurationTest extends InternalBrokerBaseCase // Load config try { + ApplicationRegistry.remove(); ApplicationRegistry reg = new ConfigurationFileApplicationRegistry(mainFile); - ApplicationRegistry.initialise(reg, 1); + ApplicationRegistry.initialise(reg); fail("Multiple virtualhost XML configurations not allowed"); } catch (ConfigurationException ce) @@ -1384,16 +1364,15 @@ public class ServerConfigurationTest extends InternalBrokerBaseCase public void testManagementAccessRejected() throws ConfigurationException { // Check default - ServerConfiguration serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); + _serverConfig.initialise(); // Check value we set _config.setProperty("security.jmx.access(0)", "jmxremote.access"); - serverConfig = new ServerConfiguration(_config); + _serverConfig = new ServerConfiguration(_config); try { - serverConfig.initialise(); + _serverConfig.initialise(); fail("Exception not thrown"); } catch (ConfigurationException ce) @@ -1411,16 +1390,15 @@ public class ServerConfigurationTest extends InternalBrokerBaseCase public void testManagementPrincipalDatabaseRejected() throws ConfigurationException { // Check default - ServerConfiguration serverConfig = new ServerConfiguration(_config); - serverConfig.initialise(); + _serverConfig.initialise(); // Check value we set _config.setProperty("security.jmx.principal-database(0)", "mydb"); - serverConfig = new ServerConfiguration(_config); + _serverConfig = new ServerConfiguration(_config); try { - serverConfig.initialise(); + _serverConfig.initialise(); fail("Exception not thrown"); } catch (ConfigurationException ce) diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/server/failover/FailoverMethodTest.java b/qpid/java/systests/src/main/java/org/apache/qpid/server/failover/FailoverMethodTest.java index ec222ff03d..011700d634 100644 --- a/qpid/java/systests/src/main/java/org/apache/qpid/server/failover/FailoverMethodTest.java +++ b/qpid/java/systests/src/main/java/org/apache/qpid/server/failover/FailoverMethodTest.java @@ -20,15 +20,12 @@ */ package org.apache.qpid.server.failover; -import junit.framework.TestCase; - import org.apache.qpid.AMQDisconnectedException; import org.apache.qpid.AMQException; import org.apache.qpid.client.AMQConnection; import org.apache.qpid.client.AMQConnectionURL; import org.apache.qpid.client.transport.TransportConnection; import org.apache.qpid.client.vmbroker.AMQVMBrokerCreationException; -import org.apache.qpid.server.registry.ApplicationRegistry; import org.apache.qpid.server.util.InternalBrokerBaseCase; import org.apache.qpid.url.URLSyntaxException; import org.slf4j.Logger; @@ -47,13 +44,13 @@ public class FailoverMethodTest extends InternalBrokerBaseCase implements Except public void createBroker() throws Exception { super.createBroker(); - TransportConnection.createVMBroker(ApplicationRegistry.DEFAULT_INSTANCE); + TransportConnection.createVMBroker(TransportConnection.DEFAULT_VM_PORT); } @Override public void stopBroker() { - TransportConnection.killVMBroker(ApplicationRegistry.DEFAULT_INSTANCE); + TransportConnection.killVMBroker(TransportConnection.DEFAULT_VM_PORT); super.stopBroker(); } @@ -71,7 +68,7 @@ public class FailoverMethodTest extends InternalBrokerBaseCase implements Except //note: The VM broker has no connect delay and the default 1 retry // while the tcp:localhost broker has 3 retries with a 2s connect delay String connectionString = "amqp://guest:guest@/test?brokerlist=" + - "'vm://:" + ApplicationRegistry.DEFAULT_INSTANCE + + "'vm://:" + TransportConnection.DEFAULT_VM_PORT + ";tcp://localhost:5670?connectdelay='2000',retries='3''"; AMQConnectionURL url = new AMQConnectionURL(connectionString); diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/test/framework/qpid/CauseFailureInVM.java b/qpid/java/systests/src/main/java/org/apache/qpid/test/framework/qpid/CauseFailureInVM.java index 3e03ad0872..fd86fc8e21 100644 --- a/qpid/java/systests/src/main/java/org/apache/qpid/test/framework/qpid/CauseFailureInVM.java +++ b/qpid/java/systests/src/main/java/org/apache/qpid/test/framework/qpid/CauseFailureInVM.java @@ -65,6 +65,6 @@ public class CauseFailureInVM implements CauseFailure int liveBroker = inVMTest.getLiveBroker(); TransportConnection.killVMBroker(liveBroker); - ApplicationRegistry.remove(liveBroker); + ApplicationRegistry.remove(); } } diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/test/framework/qpid/InVMBrokerDecorator.java b/qpid/java/systests/src/main/java/org/apache/qpid/test/framework/qpid/InVMBrokerDecorator.java index b92a72a654..c43318165d 100644 --- a/qpid/java/systests/src/main/java/org/apache/qpid/test/framework/qpid/InVMBrokerDecorator.java +++ b/qpid/java/systests/src/main/java/org/apache/qpid/test/framework/qpid/InVMBrokerDecorator.java @@ -88,7 +88,7 @@ public class InVMBrokerDecorator extends WrappedSuiteTestDecorator // Ensure that the in-vm broker is created. try { - ApplicationRegistry.getInstance(1); + ApplicationRegistry.getInstance(); TransportConnection.createVMBroker(1); } catch (AMQVMBrokerCreationException e) @@ -104,7 +104,7 @@ public class InVMBrokerDecorator extends WrappedSuiteTestDecorator { // Ensure that the in-vm broker is cleaned up so that the next test starts afresh. TransportConnection.killVMBroker(1); - ApplicationRegistry.remove(1); + ApplicationRegistry.remove(); } }); diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/ack/Acknowledge2ConsumersTest.java b/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/ack/Acknowledge2ConsumersTest.java index 4b45a96c20..23efb656d2 100644 --- a/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/ack/Acknowledge2ConsumersTest.java +++ b/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/ack/Acknowledge2ConsumersTest.java @@ -23,7 +23,7 @@ package org.apache.qpid.test.unit.ack; import org.apache.qpid.client.AMQDestination; import org.apache.qpid.client.AMQSession; -import org.apache.qpid.test.utils.FailoverBaseCase; +import org.apache.qpid.test.utils.QpidBrokerTestCase; import javax.jms.Connection; import javax.jms.JMSException; @@ -32,7 +32,7 @@ import javax.jms.MessageConsumer; import javax.jms.Queue; import javax.jms.Session; -public class Acknowledge2ConsumersTest extends FailoverBaseCase +public class Acknowledge2ConsumersTest extends QpidBrokerTestCase { protected static int NUM_MESSAGES = 100; protected Connection _con; diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java b/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java index 6fcde7e185..a5d1f4821f 100644 --- a/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java +++ b/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java @@ -466,7 +466,7 @@ public class QpidBrokerTestCase extends QpidTestCase final ConfigurationFileApplicationRegistry registry = new ConfigurationFileApplicationRegistry(_configFile); try { - ApplicationRegistry.initialise(registry, port); + ApplicationRegistry.initialise(registry); } catch (Exception e) { @@ -692,7 +692,7 @@ public class QpidBrokerTestCase extends QpidTestCase else if (_broker.equals(VM)) { TransportConnection.killVMBroker(port); - ApplicationRegistry.remove(port); + ApplicationRegistry.remove(); } } diff --git a/qpid/java/test-profiles/JavaInVMExcludes b/qpid/java/test-profiles/JavaInVMExcludes index 7960b28d81..e8f0cf37e9 100644 --- a/qpid/java/test-profiles/JavaInVMExcludes +++ b/qpid/java/test-profiles/JavaInVMExcludes @@ -27,6 +27,25 @@ org.apache.qpid.server.security.firewall.FirewallConfigTest#* // This test requires a broker capable of 0-8/9 and 0-10 org.apache.qpid.test.client.message.JMSDestinationTest#testReceiveResend +//Only a single InVM broker is now supported per JVM, so Failover tests do not work on InVm profiles +org.apache.qpid.test.client.QueueBrowserAutoAckTest#testFailoverAsQueueBrowserCreated +org.apache.qpid.test.client.QueueBrowserAutoAckTest#testFailoverWithQueueBrowser +org.apache.qpid.test.client.QueueBrowserClientAckTest#testFailoverAsQueueBrowserCreated +org.apache.qpid.test.client.QueueBrowserClientAckTest#testFailoverWithQueueBrowser +org.apache.qpid.test.client.QueueBrowserDupsOkTest#testFailoverAsQueueBrowserCreated +org.apache.qpid.test.client.QueueBrowserDupsOkTest#testFailoverWithQueueBrowser +org.apache.qpid.test.client.QueueBrowserNoAckTest#testFailoverAsQueueBrowserCreated +org.apache.qpid.test.client.QueueBrowserNoAckTest#testFailoverWithQueueBrowser +org.apache.qpid.test.client.QueueBrowserPreAckTest#testFailoverAsQueueBrowserCreated +org.apache.qpid.test.client.QueueBrowserPreAckTest#testFailoverWithQueueBrowser +org.apache.qpid.test.client.QueueBrowserTransactedTest#testFailoverAsQueueBrowserCreated +org.apache.qpid.test.client.QueueBrowserTransactedTest#testFailoverWithQueueBrowser +org.apache.qpid.server.failover.MessageDisappearWithIOExceptionTest#* +org.apache.qpid.test.client.failover.FailoverTest#* +org.apache.qpid.test.unit.ack.AcknowledgeAfterFailoverTest#* +org.apache.qpid.test.unit.ack.AcknowledgeAfterFailoverOnMessageTest#* +org.apache.qpid.test.unit.publish.DirtyTransactedPublishTest#* + // QPID-2478 test fails when run against broker using 0-8/9 org.apache.qpid.test.client.message.JMSDestinationTest#testGetDestinationWithCustomExchange -- cgit v1.2.1