You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by sh...@apache.org on 2011/10/20 20:43:26 UTC

svn commit: r1186990 [26/43] - in /qpid/branches/QPID-2519: ./ bin/ cpp/ cpp/bindings/ cpp/bindings/qmf/python/ cpp/bindings/qmf/ruby/ cpp/bindings/qmf/tests/ cpp/bindings/qmf2/ cpp/bindings/qmf2/examples/cpp/ cpp/bindings/qmf2/python/ cpp/bindings/qmf...

Modified: qpid/branches/QPID-2519/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHostImpl.java
URL: http://svn.apache.org/viewvc/qpid/branches/QPID-2519/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHostImpl.java?rev=1186990&r1=1186989&r2=1186990&view=diff
==============================================================================
--- qpid/branches/QPID-2519/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHostImpl.java (original)
+++ qpid/branches/QPID-2519/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHostImpl.java Thu Oct 20 18:42:46 2011
@@ -20,23 +20,21 @@
  */
 package org.apache.qpid.server.virtualhost;
 
-import java.util.Collections;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
-import java.util.TimerTask;
 import java.util.UUID;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ScheduledThreadPoolExecutor;
 import java.util.concurrent.TimeUnit;
 
 import javax.management.NotCompliantMBeanException;
+import javax.management.ObjectName;
 
 import org.apache.commons.configuration.Configuration;
 import org.apache.commons.configuration.ConfigurationException;
 import org.apache.log4j.Logger;
 import org.apache.qpid.AMQException;
-import org.apache.qpid.AMQInternalException;
 import org.apache.qpid.AMQStoreException;
 import org.apache.qpid.framing.AMQShortString;
 import org.apache.qpid.framing.FieldTable;
@@ -63,6 +61,8 @@ import org.apache.qpid.server.logging.me
 import org.apache.qpid.server.logging.subjects.MessageStoreLogSubject;
 import org.apache.qpid.server.management.AMQManagedObject;
 import org.apache.qpid.server.management.ManagedObject;
+import org.apache.qpid.server.protocol.AMQConnectionModel;
+import org.apache.qpid.server.protocol.AMQSessionModel;
 import org.apache.qpid.server.queue.AMQQueue;
 import org.apache.qpid.server.queue.AMQQueueFactory;
 import org.apache.qpid.server.queue.DefaultQueueRegistry;
@@ -71,7 +71,7 @@ import org.apache.qpid.server.registry.A
 import org.apache.qpid.server.registry.IApplicationRegistry;
 import org.apache.qpid.server.security.SecurityManager;
 import org.apache.qpid.server.security.auth.manager.AuthenticationManager;
-import org.apache.qpid.server.security.auth.manager.PrincipalDatabaseAuthenticationManager;
+import org.apache.qpid.server.stats.StatisticsCounter;
 import org.apache.qpid.server.store.ConfigurationRecoveryHandler;
 import org.apache.qpid.server.store.DurableConfigurationStore;
 import org.apache.qpid.server.store.MessageStore;
@@ -99,7 +99,7 @@ public class VirtualHostImpl implements 
 
     private AMQBrokerManagerMBean _brokerMBean;
 
-    private AuthenticationManager _authenticationManager;
+    private final AuthenticationManager _authenticationManager;
 
     private SecurityManager _securityManager;
 
@@ -111,6 +111,8 @@ public class VirtualHostImpl implements 
     private BrokerConfig _broker;
     private UUID _id;
 
+    private boolean _statisticsEnabled = false;
+    private StatisticsCounter _messagesDelivered, _dataDelivered, _messagesReceived, _dataReceived;
 
     private final long _createTime = System.currentTimeMillis();
     private final ConcurrentHashMap<BrokerLink,BrokerLink> _links = new ConcurrentHashMap<BrokerLink, BrokerLink>();
@@ -161,12 +163,12 @@ public class VirtualHostImpl implements 
 
         public String getObjectInstanceName()
         {
-            return _name.toString();
+            return ObjectName.quote(_name);
         }
 
         public String getName()
         {
-            return _name.toString();
+            return _name;
         }
 
         public VirtualHostImpl getVirtualHost()
@@ -175,22 +177,11 @@ public class VirtualHostImpl implements 
         }
     }
 
-    public VirtualHostImpl(IApplicationRegistry appRegistry, VirtualHostConfiguration hostConfig) throws Exception
-    {
-        this(appRegistry, hostConfig, null);
-    }
-
-
-    public VirtualHostImpl(VirtualHostConfiguration hostConfig, MessageStore store) throws Exception
-    {
-        this(ApplicationRegistry.getInstance(),hostConfig,store);
-    }
-
-    private VirtualHostImpl(IApplicationRegistry appRegistry, VirtualHostConfiguration hostConfig, MessageStore store) throws Exception
+    public VirtualHostImpl(IApplicationRegistry appRegistry, VirtualHostConfiguration hostConfig, MessageStore store) throws Exception
     {
 		if (hostConfig == null)
 		{
-			throw new IllegalAccessException("HostConfig and MessageStore cannot be null");
+			throw new IllegalArgumentException("HostConfig cannot be null");
 		}
 		
         _appRegistry = appRegistry;
@@ -244,21 +235,28 @@ public class VirtualHostImpl implements 
 			initialiseMessageStore(hostConfig);
         }
 		
-        _authenticationManager = new PrincipalDatabaseAuthenticationManager(_name, _configuration);
+        _authenticationManager = ApplicationRegistry.getInstance().getAuthenticationManager();
 
         _brokerMBean = new AMQBrokerManagerMBean(_virtualHostMBean);
         _brokerMBean.register();
-        initialiseHouseKeeping(hostConfig.getHousekeepingExpiredMessageCheckPeriod());
+        initialiseHouseKeeping(hostConfig.getHousekeepingCheckPeriod());
+        
+        initialiseStatistics();
     }
 
+    /**
+     * Initialise a housekeeping task to iterate over queues cleaning expired messages with no consumers
+     * and checking for idle or open transactions that have exceeded the permitted thresholds.
+     *
+     * @param period
+     */
 	private void initialiseHouseKeeping(long period)
     {
-        /* add a timer task to iterate over queues, cleaning expired messages from queues with no consumers */
         if (period != 0L)
         {
-            class ExpiredMessagesTask extends HouseKeepingTask
+            class VirtualHostHouseKeepingTask extends HouseKeepingTask
             {
-                public ExpiredMessagesTask(VirtualHost vhost)
+                public VirtualHostHouseKeepingTask(VirtualHost vhost)
                 {
                     super(vhost);
                 }
@@ -281,18 +279,29 @@ public class VirtualHostImpl implements 
                             // house keeping task from running.
                         }
                     }
+                    for (AMQConnectionModel connection : getConnectionRegistry().getConnections())
+                    {
+                        _logger.debug("Checking for long running open transactions on connection " + connection);
+                        for (AMQSessionModel session : connection.getSessionModels())
+                        {
+	                        _logger.debug("Checking for long running open transactions on session " + session);
+                            try
+                            {
+                                session.checkTransactionStatus(_configuration.getTransactionTimeoutOpenWarn(),
+	                                                           _configuration.getTransactionTimeoutOpenClose(),
+	                                                           _configuration.getTransactionTimeoutIdleWarn(),
+	                                                           _configuration.getTransactionTimeoutIdleClose());
+                            }
+                            catch (Exception e)
+                            {
+                                _logger.error("Exception in housekeeping for connection: " + connection.toString(), e);
+                            }
+                        }
+                    }
                 }
             }
 
-            scheduleHouseKeepingTask(period, new ExpiredMessagesTask(this));
-
-            class ForceChannelClosuresTask extends TimerTask
-            {
-                public void run()
-                {
-                    _connectionRegistry.expireClosedChannels();
-                }
-            }
+            scheduleHouseKeepingTask(period, new VirtualHostHouseKeepingTask(this));
 
             Map<String, VirtualHostPluginFactory> plugins =
                 ApplicationRegistry.getInstance().getPluginManager().getVirtualHostPlugins();
@@ -446,46 +455,57 @@ public class VirtualHostImpl implements 
     private void configureQueue(QueueConfiguration queueConfiguration) throws AMQException, ConfigurationException
     {
     	AMQQueue queue = AMQQueueFactory.createAMQQueueImpl(queueConfiguration, this);
+        String queueName = queue.getName();
 
     	if (queue.isDurable())
     	{
     		getDurableConfigurationStore().createQueue(queue);
     	}
 
+        //get the exchange name (returns default exchange name if none was specified)
     	String exchangeName = queueConfiguration.getExchange();
 
-    	Exchange exchange = _exchangeRegistry.getExchange(exchangeName == null ? null : new AMQShortString(exchangeName));
-
-        if (exchange == null)
-        {
-            exchange = _exchangeRegistry.getDefaultExchange();
-        }
-
+        Exchange exchange = _exchangeRegistry.getExchange(exchangeName);
     	if (exchange == null)
     	{
-    		throw new ConfigurationException("Attempt to bind queue to unknown exchange:" + exchangeName);
+            throw new ConfigurationException("Attempt to bind queue '" + queueName + "' to unknown exchange:" + exchangeName);
     	}
 
-        List routingKeys = queueConfiguration.getRoutingKeys();
-        if (routingKeys == null || routingKeys.isEmpty())
-        {
-            routingKeys = Collections.singletonList(queue.getNameShortString());
-        }
+        Exchange defaultExchange = _exchangeRegistry.getDefaultExchange();
+
+        //get routing keys in configuration (returns empty list if none are defined)
+        List<?> routingKeys = queueConfiguration.getRoutingKeys();
 
         for (Object routingKeyNameObj : routingKeys)
         {
-            AMQShortString routingKey = new AMQShortString(String.valueOf(routingKeyNameObj));
-            if (_logger.isInfoEnabled())
+            String routingKey = String.valueOf(routingKeyNameObj);
+
+            if (exchange.equals(defaultExchange) && !queueName.equals(routingKey))
             {
-                _logger.info("Binding queue:" + queue + " with routing key '" + routingKey + "' to exchange:" + this);
+                throw new ConfigurationException("Illegal attempt to bind queue '" + queueName +
+                        "' to the default exchange with a key other than the queue name: " + routingKey);
             }
-            _bindingFactory.addBinding(routingKey.toString(), queue, exchange, null);
+
+            configureBinding(queue, exchange, routingKey);
+        }
+
+        if (!exchange.equals(defaultExchange))
+        {
+            //bind the queue to the named exchange using its name
+            configureBinding(queue, exchange, queueName);
         }
 
-        if (exchange != _exchangeRegistry.getDefaultExchange())
+        //ensure the queue is bound to the default exchange using its name
+        configureBinding(queue, defaultExchange, queueName);
+    }
+
+    private void configureBinding(AMQQueue queue, Exchange exchange, String routingKey) throws AMQException
+    {
+        if (_logger.isInfoEnabled())
         {
-            _bindingFactory.addBinding(queue.getNameShortString().toString(), queue, exchange, null);
+            _logger.info("Binding queue:" + queue + " with routing key '" + routingKey + "' to exchange:" + exchange.getName());
         }
+        _bindingFactory.addBinding(routingKey, queue, exchange, null);
     }
 
     public String getName()
@@ -627,6 +647,80 @@ public class VirtualHostImpl implements 
     {
         return _bindingFactory;
     }
+    
+    public void registerMessageDelivered(long messageSize)
+    {
+        if (isStatisticsEnabled())
+        {
+            _messagesDelivered.registerEvent(1L);
+            _dataDelivered.registerEvent(messageSize);
+        }
+        _appRegistry.registerMessageDelivered(messageSize);
+    }
+    
+    public void registerMessageReceived(long messageSize, long timestamp)
+    {
+        if (isStatisticsEnabled())
+        {
+            _messagesReceived.registerEvent(1L, timestamp);
+            _dataReceived.registerEvent(messageSize, timestamp);
+        }
+        _appRegistry.registerMessageReceived(messageSize, timestamp);
+    }
+    
+    public StatisticsCounter getMessageReceiptStatistics()
+    {
+        return _messagesReceived;
+    }
+    
+    public StatisticsCounter getDataReceiptStatistics()
+    {
+        return _dataReceived;
+    }
+    
+    public StatisticsCounter getMessageDeliveryStatistics()
+    {
+        return _messagesDelivered;
+    }
+    
+    public StatisticsCounter getDataDeliveryStatistics()
+    {
+        return _dataDelivered;
+    }
+    
+    public void resetStatistics()
+    {
+        _messagesDelivered.reset();
+        _dataDelivered.reset();
+        _messagesReceived.reset();
+        _dataReceived.reset();
+        
+        for (AMQConnectionModel connection : _connectionRegistry.getConnections())
+        {
+            connection.resetStatistics();
+        }
+    }
+
+    public void initialiseStatistics()
+    {
+        setStatisticsEnabled(!StatisticsCounter.DISABLE_STATISTICS &&
+                _appRegistry.getConfiguration().isStatisticsGenerationVirtualhostsEnabled());
+        
+        _messagesDelivered = new StatisticsCounter("messages-delivered-" + getName());
+        _dataDelivered = new StatisticsCounter("bytes-delivered-" + getName());
+        _messagesReceived = new StatisticsCounter("messages-received-" + getName());
+        _dataReceived = new StatisticsCounter("bytes-received-" + getName());
+    }
+
+    public boolean isStatisticsEnabled()
+    {
+        return _statisticsEnabled;
+    }
+
+    public void setStatisticsEnabled(boolean enabled)
+    {
+        _statisticsEnabled = enabled;
+    }
 
     public void createBrokerConnection(final String transport,
                                        final String host,

Modified: qpid/branches/QPID-2519/java/broker/src/main/java/org/apache/qpid/tools/messagestore/MessageStoreTool.java
URL: http://svn.apache.org/viewvc/qpid/branches/QPID-2519/java/broker/src/main/java/org/apache/qpid/tools/messagestore/MessageStoreTool.java?rev=1186990&r1=1186989&r2=1186990&view=diff
==============================================================================
--- qpid/branches/QPID-2519/java/broker/src/main/java/org/apache/qpid/tools/messagestore/MessageStoreTool.java (original)
+++ qpid/branches/QPID-2519/java/broker/src/main/java/org/apache/qpid/tools/messagestore/MessageStoreTool.java Thu Oct 20 18:42:46 2011
@@ -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);
 

Modified: qpid/branches/QPID-2519/java/broker/src/main/java/org/apache/qpid/tools/messagestore/commands/Show.java
URL: http://svn.apache.org/viewvc/qpid/branches/QPID-2519/java/broker/src/main/java/org/apache/qpid/tools/messagestore/commands/Show.java?rev=1186990&r1=1186989&r2=1186990&view=diff
==============================================================================
--- qpid/branches/QPID-2519/java/broker/src/main/java/org/apache/qpid/tools/messagestore/commands/Show.java (original)
+++ qpid/branches/QPID-2519/java/broker/src/main/java/org/apache/qpid/tools/messagestore/commands/Show.java Thu Oct 20 18:42:46 2011
@@ -364,7 +364,7 @@ public class Show extends AbstractComman
             {
                 if(msg instanceof AMQMessage)
                 {
-                    headers = ((BasicContentHeaderProperties) ((AMQMessage)msg).getContentHeaderBody().properties);
+                    headers = ((BasicContentHeaderProperties) ((AMQMessage)msg).getContentHeaderBody().getProperties());
                 }
             }
             catch (AMQException e)

Modified: qpid/branches/QPID-2519/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/QPID-2519/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java?rev=1186990&r1=1186989&r2=1186990&view=diff
==============================================================================
--- qpid/branches/QPID-2519/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java (original)
+++ qpid/branches/QPID-2519/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java Thu Oct 20 18:42:46 2011
@@ -20,742 +20,598 @@
  */
 package org.apache.qpid.server.configuration;
 
+import static org.apache.qpid.transport.ConnectionSettings.WILDCARD_ADDRESS;
+
 import java.io.File;
 import java.io.FileWriter;
 import java.io.IOException;
-import java.io.RandomAccessFile;
-import java.util.List;
 import java.util.Locale;
 
-import junit.framework.TestCase;
-
 import org.apache.commons.configuration.ConfigurationException;
 import org.apache.commons.configuration.XMLConfiguration;
 import org.apache.qpid.framing.AMQShortString;
 import org.apache.qpid.server.exchange.Exchange;
-import org.apache.qpid.server.protocol.AMQProtocolEngine;
-import org.apache.qpid.server.protocol.AMQProtocolSession;
 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.transport.TestNetworkDriver;
+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;
 
-
-    public void testSetJMXManagementPort() throws ConfigurationException
+    @Override
+    protected void setUp() throws Exception
     {
-        ServerConfiguration serverConfig = new ServerConfiguration(_config);
-        serverConfig.initialise();
-        serverConfig.setJMXManagementPort(23);
-        assertEquals(23, serverConfig.getJMXManagementPort());
+        super.setUp();
+        _serverConfig = new ServerConfiguration(_config);
+        ApplicationRegistry.initialise(new TestApplicationRegistry(_serverConfig));
     }
 
-    public void testGetJMXManagementPort() throws ConfigurationException
+    @Override
+    protected void tearDown() throws Exception
     {
-        _config.setProperty("management.jmxport", 42);
-        ServerConfiguration serverConfig = new ServerConfiguration(_config);
-        serverConfig.initialise();
-        assertEquals(42, serverConfig.getJMXManagementPort());
+        super.tearDown();
+        ApplicationRegistry.remove();
     }
 
-    public void testGetPlatformMbeanserver() throws ConfigurationException
+    public void testSetJMXPortRegistryServer() throws ConfigurationException
     {
-        // Check default
-        ServerConfiguration serverConfig = new ServerConfiguration(_config);
-        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.initialise();
+        _serverConfig.setJMXPortRegistryServer(23);
+        assertEquals(23, _serverConfig.getJMXPortRegistryServer());
     }
 
-    public void testGetPluginDirectory() throws ConfigurationException
+    public void testGetJMXPortRegistryServer() throws ConfigurationException
     {
-        // Check default
-        ServerConfiguration serverConfig = new ServerConfiguration(_config);
-        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());
+        _config.setProperty(ServerConfiguration.MGMT_JMXPORT_REGISTRYSERVER, 42);
+        _serverConfig.initialise();
+        assertEquals(42, _serverConfig.getJMXPortRegistryServer());
     }
 
-    public void testGetCacheDirectory() throws ConfigurationException
+    public void testDefaultJMXPortRegistryServer() throws ConfigurationException
     {
-        // Check default
-        ServerConfiguration serverConfig = new ServerConfiguration(_config);
-        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.initialise();
+        assertEquals(8999, _serverConfig.getJMXPortRegistryServer());
     }
 
-    public void testGetPrincipalDatabaseNames() throws ConfigurationException
+    public void testSetJMXPortConnectorServer() throws ConfigurationException
     {
-        // Check default
         ServerConfiguration serverConfig = new ServerConfiguration(_config);
-        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<String> dbs = serverConfig.getPrincipalDatabaseNames();
-        assertEquals(2, dbs.size());
-        assertEquals("a", dbs.get(0));
-        assertEquals("b", dbs.get(1));
+        serverConfig.setJMXPortConnectorServer(67);
+        assertEquals(67, serverConfig.getJMXConnectorServerPort());
     }
 
-    public void testGetPrincipalDatabaseClass() throws ConfigurationException
+    public void testGetJMXPortConnectorServer() throws ConfigurationException
     {
-        // Check default
-        ServerConfiguration serverConfig = new ServerConfiguration(_config);
-        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<String> dbs = serverConfig.getPrincipalDatabaseClass();
-        assertEquals(2, dbs.size());
-        assertEquals("a", dbs.get(0));
-        assertEquals("b", dbs.get(1));
-    }
-
-    public void testGetPrincipalDatabaseAttributeNames() throws ConfigurationException
-    {
-        // Check default
+        _config.setProperty(ServerConfiguration.MGMT_JMXPORT_CONNECTORSERVER, 67);
         ServerConfiguration serverConfig = new ServerConfiguration(_config);
-        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<String> dbs = serverConfig.getPrincipalDatabaseAttributeNames(0);
-        assertEquals(2, dbs.size());
-        assertEquals("a", dbs.get(0));
-        assertEquals("b", dbs.get(1));
+        assertEquals(67, serverConfig.getJMXConnectorServerPort());
     }
 
-    public void testGetPrincipalDatabaseAttributeValues() throws ConfigurationException
+    public void testDefaultJMXPortConnectorServer() throws ConfigurationException
     {
-        // Check default
         ServerConfiguration serverConfig = new ServerConfiguration(_config);
-        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<String> dbs = serverConfig.getPrincipalDatabaseAttributeValues(0);
-        assertEquals(2, dbs.size());
-        assertEquals("a", dbs.get(0));
-        assertEquals("b", dbs.get(1));
+        assertEquals(ServerConfiguration.DEFAULT_JMXPORT_REGISTRYSERVER + ServerConfiguration.JMXPORT_CONNECTORSERVER_OFFSET,
+                        serverConfig.getJMXConnectorServerPort());
     }
 
-    public void testGetManagementAccessList() throws ConfigurationException
-    {
-        // Check default
-        ServerConfiguration serverConfig = new ServerConfiguration(_config);
-        serverConfig.initialise();
-        assertEquals(0, serverConfig.getManagementAccessList().size());
-
-        // Check value we set
-        _config.setProperty("security.jmx.access(0)", "a");
-        _config.setProperty("security.jmx.access(1)", "b");
-        serverConfig = new ServerConfiguration(_config);
-        serverConfig.initialise();
-        List<String> dbs = serverConfig.getManagementAccessList();
-        assertEquals(2, dbs.size());
-        assertEquals("a", dbs.get(0));
-        assertEquals("b", dbs.get(1));
-    }
-
-    public void testGetFrameSize() throws ConfigurationException
+    public void testGetPlatformMbeanserver() throws ConfigurationException
     {
-        // Check default
-        ServerConfiguration serverConfig = new ServerConfiguration(_config);
-        serverConfig.initialise();
-        assertEquals(65536, serverConfig.getFrameSize());
+        _serverConfig.initialise();
+        assertEquals(true, _serverConfig.getPlatformMbeanserver());
 
         // Check value we set
-        _config.setProperty("advanced.framesize", "23");
-        serverConfig = new ServerConfiguration(_config);
-        serverConfig.initialise();
-        assertEquals(23, serverConfig.getFrameSize());
+        _config.setProperty("management.platform-mbeanserver", false);
+        _serverConfig = new ServerConfiguration(_config);
+        _serverConfig.initialise();
+        assertEquals(false, _serverConfig.getPlatformMbeanserver());
     }
 
-    public void testGetProtectIOEnabled() throws ConfigurationException
+    public void testGetPluginDirectory() throws ConfigurationException
     {
         // Check default
-        ServerConfiguration serverConfig = new ServerConfiguration(_config);
-        serverConfig.initialise();
-        assertEquals(false, serverConfig.getProtectIOEnabled());
+        _serverConfig.initialise();
+        assertEquals(null, _serverConfig.getPluginDirectory());
 
         // Check value we set
-        _config.setProperty(ServerConfiguration.CONNECTOR_PROTECTIO_ENABLED, true);
-        serverConfig = new ServerConfiguration(_config);
-        serverConfig.initialise();
-        assertEquals(true, serverConfig.getProtectIOEnabled());
+        _config.setProperty("plugin-directory", "/path/to/plugins");
+        _serverConfig = new ServerConfiguration(_config);
+        _serverConfig.initialise();
+        assertEquals("/path/to/plugins", _serverConfig.getPluginDirectory());
     }
 
-    public void testGetBufferReadLimit() throws ConfigurationException
+    public void testGetCacheDirectory() throws ConfigurationException
     {
         // Check default
-        ServerConfiguration serverConfig = new ServerConfiguration(_config);
-        serverConfig.initialise();
-        assertEquals(262144, serverConfig.getBufferReadLimit());
+        _serverConfig.initialise();
+        assertEquals(null, _serverConfig.getCacheDirectory());
 
         // Check value we set
-        _config.setProperty(ServerConfiguration.CONNECTOR_PROTECTIO_READ_BUFFER_LIMIT_SIZE, 23);
-        serverConfig = new ServerConfiguration(_config);
-        serverConfig.initialise();
-        assertEquals(23, serverConfig.getBufferReadLimit());
+        _config.setProperty("cache-directory", "/path/to/cache");
+        _serverConfig = new ServerConfiguration(_config);
+        _serverConfig.initialise();
+        assertEquals("/path/to/cache", _serverConfig.getCacheDirectory());
     }
 
-    public void testGetBufferWriteLimit() throws ConfigurationException
+    public void testGetFrameSize() throws ConfigurationException
     {
         // Check default
-        ServerConfiguration serverConfig = new ServerConfiguration(_config);
-        serverConfig.initialise();
-        assertEquals(262144, serverConfig.getBufferWriteLimit());
+        _serverConfig.initialise();
+        assertEquals(65536, _serverConfig.getFrameSize());
 
         // Check value we set
-        _config.setProperty(ServerConfiguration.CONNECTOR_PROTECTIO_WRITE_BUFFER_LIMIT_SIZE, 23);
-        serverConfig = new ServerConfiguration(_config);
-        serverConfig.initialise();
-        assertEquals(23, serverConfig.getBufferWriteLimit());
+        _config.setProperty("advanced.framesize", "23");
+        _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());
-    }
-
-    public void testGetJMXPrincipalDatabase() throws ConfigurationException
-    {
-        // Check default
-        ServerConfiguration serverConfig = new ServerConfiguration(_config);
-        serverConfig.initialise();
-        assertEquals(null, serverConfig.getJMXPrincipalDatabase());
-
-        // Check value we set
-        _config.setProperty("security.jmx.principal-database", "a");
-        serverConfig = new ServerConfiguration(_config);
-        serverConfig.initialise();
-        assertEquals("a", serverConfig.getJMXPrincipalDatabase());
+        _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
+    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.getProcessors());
+        _serverConfig.initialise();
+        assertEquals(4, _serverConfig.getConnectorProcessors());
 
         // Check value we set
         _config.setProperty("connector.processors", 10);
-        serverConfig = new ServerConfiguration(_config);
-        serverConfig.initialise();
-        assertEquals(10, serverConfig.getProcessors());
-    }
+        _serverConfig = new ServerConfiguration(_config);
+        _serverConfig.initialise();
+        assertEquals(10, _serverConfig.getConnectorProcessors());
+        }
 
-    public void testGetPort() throws ConfigurationException
+    public void testGetPorts() 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", 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(32767, 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(32767, 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
+    public void testGetSSLPorts() throws ConfigurationException
     {
         // Check default
-        ServerConfiguration serverConfig = new ServerConfiguration(_config);
-        serverConfig.initialise();
-        assertEquals(8672, serverConfig.getSSLPort());
+        _serverConfig.initialise();
+        assertNotNull(_serverConfig.getSSLPorts());
+        assertEquals(1, _serverConfig.getSSLPorts().size());
+        assertEquals(ServerConfiguration.DEFAULT_SSL_PORT, _serverConfig.getSSLPorts().get(0));
 
-        // Check value we set
-        _config.setProperty("connector.ssl.port", 23);
-        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());
 
         // Check value we set
-        _config.setProperty("connector.ssl.keystorePath", "a");
-        serverConfig = new ServerConfiguration(_config);
-        serverConfig.initialise();
-        assertEquals("a", serverConfig.getKeystorePath());
+        _config.setProperty("connector.ssl.port", "10");
+        _serverConfig = new ServerConfiguration(_config);
+        _serverConfig.initialise();
+        assertNotNull(_serverConfig.getSSLPorts());
+        assertEquals(1, _serverConfig.getSSLPorts().size());
+        assertEquals("10", _serverConfig.getSSLPorts().get(0));
     }
 
-    public void testGetKeystorePassword() throws ConfigurationException
+    public void testGetConnectorKeystorePath() throws ConfigurationException
     {
         // Check default
-        ServerConfiguration serverConfig = new ServerConfiguration(_config);
-        serverConfig.initialise();
-        assertEquals("none", serverConfig.getKeystorePassword());
+        _serverConfig.initialise();
+        assertNull(_serverConfig.getConnectorKeyStorePath());
 
         // Check value we set
-        _config.setProperty("connector.ssl.keystorePassword", "a");
-        serverConfig = new ServerConfiguration(_config);
-        serverConfig.initialise();
-        assertEquals("a", serverConfig.getKeystorePassword());
+        _config.setProperty("connector.ssl.keyStorePath", "a");
+        _serverConfig = new ServerConfiguration(_config);
+        _serverConfig.initialise();
+        assertEquals("a", _serverConfig.getConnectorKeyStorePath());
+
+        // Ensure we continue to support the old name keystorePath
+        _config.clearProperty("connector.ssl.keyStorePath");
+        _config.setProperty("connector.ssl.keystorePath", "b");
+        _serverConfig = new ServerConfiguration(_config);
+        _serverConfig.initialise();
+        assertEquals("b", _serverConfig.getConnectorKeyStorePath());
     }
 
-    public void testGetCertType() throws ConfigurationException
+    public void testGetConnectorKeystorePassword() throws ConfigurationException
     {
         // Check default
-        ServerConfiguration serverConfig = new ServerConfiguration(_config);
-        serverConfig.initialise();
-        assertEquals("SunX509", serverConfig.getCertType());
+        _serverConfig.initialise();
+        assertNull(_serverConfig.getConnectorKeyStorePassword());
 
         // Check value we set
-        _config.setProperty("connector.ssl.certType", "a");
-        serverConfig = new ServerConfiguration(_config);
-        serverConfig.initialise();
-        assertEquals("a", serverConfig.getCertType());
+        _config.setProperty("connector.ssl.keyStorePassword", "a");
+        _serverConfig = new ServerConfiguration(_config);
+        _serverConfig.initialise();
+        assertEquals("a", _serverConfig.getConnectorKeyStorePassword());
+
+        // Ensure we continue to support the old name keystorePassword
+        _config.clearProperty("connector.ssl.keyStorePassword");
+        _config.setProperty("connector.ssl.keystorePassword", "b");
+        _serverConfig = new ServerConfiguration(_config);
+        _serverConfig.initialise();
+        assertEquals("b", _serverConfig.getConnectorKeyStorePassword());
     }
 
-    public void testGetQpidNIO() throws ConfigurationException
+    public void testGetConnectorCertType() throws ConfigurationException
     {
         // Check default
-        ServerConfiguration serverConfig = new ServerConfiguration(_config);
-        serverConfig.initialise();
-        assertEquals(false, serverConfig.getQpidNIO());
+        _serverConfig.initialise();
+        assertEquals("SunX509", _serverConfig.getConnectorCertType());
 
         // Check value we set
-        _config.setProperty("connector.qpidnio", true);
-        serverConfig = new ServerConfiguration(_config);
-        serverConfig.initialise();
-        assertEquals(true, serverConfig.getQpidNIO());
+        _config.setProperty("connector.ssl.certType", "a");
+        _serverConfig = new ServerConfiguration(_config);
+        _serverConfig.initialise();
+        assertEquals("a", _serverConfig.getConnectorCertType());
     }
 
     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
+    public void testGetHousekeepingCheckPeriod() 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());
+        _config.setProperty("housekeeping.checkPeriod", 23L);
+        _serverConfig = new ServerConfiguration(_config);
+        _serverConfig.initialise();
+        _serverConfig.setHousekeepingCheckPeriod(42L);
+        assertEquals(42, _serverConfig.getHousekeepingCheckPeriod());
     }
 
     public void testSingleConfiguration() throws IOException, ConfigurationException
@@ -767,7 +623,7 @@ public class ServerConfigurationTest ext
         out.close();
         ServerConfiguration conf = new ServerConfiguration(fileA);
         conf.initialise();
-        assertEquals(4235, conf.getSSLPort());
+        assertEquals("4235", conf.getSSLPorts().get(0));
     }
 
     public void testCombinedConfiguration() throws IOException, ConfigurationException
@@ -792,19 +648,17 @@ public class ServerConfigurationTest ext
         out.close();
 
         out = new FileWriter(fileB);
-        out.write("<broker><connector><ssl><port>2345</port></ssl><qpidnio>true</qpidnio></connector></broker>");
+        out.write("<broker><connector><ssl><port>2345</port></ssl></connector></broker>");
         out.close();
 
         ServerConfiguration config = new ServerConfiguration(mainFile.getAbsoluteFile());
         config.initialise();
-        assertEquals(4235, config.getSSLPort()); // From first file, not
+        assertEquals("4235", config.getSSLPorts().get(0)); // From first file, not
                                                  // overriden by second
         assertNotNull(config.getPorts());
         assertEquals(1, config.getPorts().size());
         assertEquals("2342", config.getPorts().get(0)); // From the first file, not
                                               // present in the second
-        assertEquals(true, config.getQpidNIO()); // From the second file, not
-                                                 // present in the first
     }
 
     public void testVariableInterpolation() throws Exception
@@ -835,9 +689,8 @@ public class ServerConfigurationTest ext
         out.write("<broker>\n");
         out.write("\t<management><enabled>false</enabled></management>\n");
         out.write("\t<security>\n");
-        out.write("\t\t<principal-databases>\n");
+        out.write("\t\t<pd-auth-manager>\n");
         out.write("\t\t\t<principal-database>\n");
-        out.write("\t\t\t\t<name>passwordfile</name>\n");
         out.write("\t\t\t\t<class>org.apache.qpid.server.security.auth.database.PlainPasswordFilePrincipalDatabase</class>\n");
         out.write("\t\t\t\t<attributes>\n");
         out.write("\t\t\t\t\t<attribute>\n");
@@ -846,11 +699,7 @@ public class ServerConfigurationTest ext
         out.write("\t\t\t\t\t</attribute>\n");
         out.write("\t\t\t\t</attributes>\n");
         out.write("\t\t\t</principal-database>\n");
-        out.write("\t\t</principal-databases>\n");
-        out.write("\t\t<jmx>\n");
-        out.write("\t\t\t<access>/dev/null</access>\n");
-        out.write("\t\t\t<principal-database>passwordfile</principal-database>\n");
-        out.write("\t\t</jmx>\n");
+        out.write("\t\t</pd-auth-manager>\n");
         out.write("\t\t<firewall>\n");
         out.write("\t\t\t<rule access=\""+ ((allow) ? "allow" : "deny") +"\" network=\"127.0.0.1\"/>");
         out.write("\t\t</firewall>\n");
@@ -886,9 +735,8 @@ public class ServerConfigurationTest ext
         out.write("<broker>\n");
         out.write("\t<management><enabled>false</enabled></management>\n");
         out.write("\t<security>\n");
-        out.write("\t\t<principal-databases>\n");
+        out.write("\t\t<pd-auth-manager>\n");
         out.write("\t\t\t<principal-database>\n");
-        out.write("\t\t\t\t<name>passwordfile</name>\n");
         out.write("\t\t\t\t<class>org.apache.qpid.server.security.auth.database.PlainPasswordFilePrincipalDatabase</class>\n");
         out.write("\t\t\t\t<attributes>\n");
         out.write("\t\t\t\t\t<attribute>\n");
@@ -897,11 +745,7 @@ public class ServerConfigurationTest ext
         out.write("\t\t\t\t\t</attribute>\n");
         out.write("\t\t\t\t</attributes>\n");
         out.write("\t\t\t</principal-database>\n");
-        out.write("\t\t</principal-databases>\n");
-        out.write("\t\t<jmx>\n");
-        out.write("\t\t\t<access>/dev/null</access>\n");
-        out.write("\t\t\t<principal-database>passwordfile</principal-database>\n");
-        out.write("\t\t</jmx>\n");
+        out.write("\t\t</pd-auth-manager>\n");
         out.write("\t\t<firewall>\n");
         out.write("\t\t\t<rule access=\"allow\" network=\"127.0.0.1\"/>");
         out.write("\t\t</firewall>\n");
@@ -992,9 +836,8 @@ public class ServerConfigurationTest ext
         out.write("<broker>\n");
         out.write("\t<management><enabled>false</enabled></management>\n");
         out.write("\t<security>\n");
-        out.write("\t\t<principal-databases>\n");
+        out.write("\t\t<pd-auth-manager>\n");
         out.write("\t\t\t<principal-database>\n");
-        out.write("\t\t\t\t<name>passwordfile</name>\n");
         out.write("\t\t\t\t<class>org.apache.qpid.server.security.auth.database.PlainPasswordFilePrincipalDatabase</class>\n");
         out.write("\t\t\t\t<attributes>\n");
         out.write("\t\t\t\t\t<attribute>\n");
@@ -1003,11 +846,7 @@ public class ServerConfigurationTest ext
         out.write("\t\t\t\t\t</attribute>\n");
         out.write("\t\t\t\t</attributes>\n");
         out.write("\t\t\t</principal-database>\n");
-        out.write("\t\t</principal-databases>\n");
-        out.write("\t\t<jmx>\n");
-        out.write("\t\t\t<access>/dev/null</access>\n");
-        out.write("\t\t\t<principal-database>passwordfile</principal-database>\n");
-        out.write("\t\t</jmx>\n");
+        out.write("\t\t</pd-auth-manager>\n");
         out.write("\t\t<firewall>\n");
         out.write("\t\t\t<rule access=\"allow\" network=\"127.0.0.1\"/>");
         out.write("\t\t</firewall>\n");
@@ -1044,8 +883,9 @@ public class ServerConfigurationTest ext
         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();
@@ -1076,8 +916,9 @@ public class ServerConfigurationTest ext
         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();
@@ -1110,8 +951,9 @@ public class ServerConfigurationTest ext
         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();
@@ -1153,9 +995,10 @@ public class ServerConfigurationTest ext
         
         // 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)
@@ -1188,8 +1031,9 @@ public class ServerConfigurationTest ext
         // 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)
@@ -1481,4 +1325,106 @@ public class ServerConfigurationTest ext
             fail("Should throw a ConfigurationException");
         }
     }
+    
+    /*
+     * Tests that the old element security.jmx.access (that used to be used
+     * to define JMX access rights) is rejected.
+     */
+    public void testManagementAccessRejected() throws ConfigurationException
+    {
+        // Check default
+        _serverConfig.initialise();
+
+        // Check value we set
+        _config.setProperty("security.jmx.access(0)", "jmxremote.access");
+        _serverConfig = new ServerConfiguration(_config);
+        
+        try
+        {
+            _serverConfig.initialise();
+            fail("Exception not thrown");
+        }
+        catch (ConfigurationException ce)
+        {
+            assertEquals("Incorrect error message",
+                    "Validation error : security/jmx/access is no longer a supported element within the configuration xml.",
+                    ce.getMessage());
+        }
+    }
+
+    /*
+     * Tests that the old element security.jmx.principal-database (that used to define the
+     * principal database used for JMX authentication) is rejected.
+     */
+    public void testManagementPrincipalDatabaseRejected() throws ConfigurationException
+    {
+        // Check default
+        _serverConfig.initialise();
+
+        // Check value we set
+        _config.setProperty("security.jmx.principal-database(0)", "mydb");
+        _serverConfig = new ServerConfiguration(_config);
+
+        try
+        {
+            _serverConfig.initialise();
+            fail("Exception not thrown");
+        }
+        catch (ConfigurationException ce)
+        {
+            assertEquals("Incorrect error message",
+                    "Validation error : security/jmx/principal-database is no longer a supported element within the configuration xml.",
+                    ce.getMessage());
+        }
+    }
+
+    /*
+     * Tests that the old element security.principal-databases. ... (that used to define 
+     * principal databases) is rejected.
+     */
+    public void testPrincipalDatabasesRejected() throws ConfigurationException
+    {
+        _serverConfig.initialise();
+
+        // Check value we set
+        _config.setProperty("security.principal-databases.principal-database.class", "myclass");
+        _serverConfig = new ServerConfiguration(_config);
+
+        try
+        {
+            _serverConfig.initialise();
+            fail("Exception not thrown");
+        }
+        catch (ConfigurationException ce)
+        {
+            assertEquals("Incorrect error message",
+                    "Validation error : security/principal-databases is no longer supported within the configuration xml.",
+                    ce.getMessage());
+        }
+    }
+
+    /*
+     * Tests that the old element housekeeping.expiredMessageCheckPeriod. ... (that was
+     * replaced by housekeeping.checkPeriod) is rejected.
+     */
+    public void testExpiredMessageCheckPeriodRejected() throws ConfigurationException
+    {
+        _serverConfig.initialise();
+
+        // Check value we set
+        _config.setProperty("housekeeping.expiredMessageCheckPeriod", 23L);
+        _serverConfig = new ServerConfiguration(_config);
+
+        try
+        {
+            _serverConfig.initialise();
+            fail("Exception not thrown");
+        }
+        catch (ConfigurationException ce)
+        {
+            assertEquals("Incorrect error message",
+                    "Validation error : housekeeping/expiredMessageCheckPeriod must be replaced by housekeeping/checkPeriod.",
+                    ce.getMessage());
+        }
+    }
 }

Modified: qpid/branches/QPID-2519/java/broker/src/test/java/org/apache/qpid/server/configuration/VirtualHostConfigurationTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/QPID-2519/java/broker/src/test/java/org/apache/qpid/server/configuration/VirtualHostConfigurationTest.java?rev=1186990&r1=1186989&r2=1186990&view=diff
==============================================================================
--- qpid/branches/QPID-2519/java/broker/src/test/java/org/apache/qpid/server/configuration/VirtualHostConfigurationTest.java (original)
+++ qpid/branches/QPID-2519/java/broker/src/test/java/org/apache/qpid/server/configuration/VirtualHostConfigurationTest.java Thu Oct 20 18:42:46 2011
@@ -20,6 +20,8 @@
 package org.apache.qpid.server.configuration;
 
 
+import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration.XMLConfiguration;
 import org.apache.qpid.framing.AMQShortString;
 import org.apache.qpid.server.queue.AMQPriorityQueue;
 import org.apache.qpid.server.queue.AMQQueue;
@@ -203,5 +205,50 @@ public class VirtualHostConfigurationTes
 
      }
 
+     /**
+      * Tests that the old element security.authentication.name is rejected.  This element
+      * was never supported properly as authentication  is performed before the virtual host
+      * is considered.
+      */
+     public void testSecurityAuthenticationNameRejected() throws Exception
+     {
+         getConfigXml().addProperty("virtualhosts.virtualhost.testSecurityAuthenticationNameRejected.security.authentication.name",
+                 "testdb");
+         
+         try
+         {
+             super.createBroker();
+             fail("Exception not thrown");
+         }
+         catch(ConfigurationException ce)
+         {
+             assertEquals("Incorrect error message",
+                          "Validation error : security/authentication/name is no longer a supported element within the configuration xml." +
+                          " It appears in virtual host definition : " + getName(),
+                          ce.getMessage());
+         }
+     }
 
+     /*
+      * Tests that the old element housekeeping.expiredMessageCheckPeriod. ... (that was
+      * replaced by housekeeping.checkPeriod) is rejected.
+      */
+     public void testExpiredMessageCheckPeriodRejected() throws Exception
+     {
+         getConfigXml().addProperty("virtualhosts.virtualhost.testExpiredMessageCheckPeriodRejected.housekeeping.expiredMessageCheckPeriod",
+                 5);
+
+         try
+         {
+             super.createBroker();
+             fail("Exception not thrown");
+         }
+         catch (ConfigurationException ce)
+         {
+             assertEquals("Incorrect error message",
+                     "Validation error : housekeeping/expiredMessageCheckPeriod must be replaced by housekeeping/checkPeriod." +
+                     " It appears in virtual host definition : " + getName(),
+                     ce.getMessage());
+         }
+     }
 }

Modified: qpid/branches/QPID-2519/java/broker/src/test/java/org/apache/qpid/server/exchange/AbstractHeadersExchangeTestBase.java
URL: http://svn.apache.org/viewvc/qpid/branches/QPID-2519/java/broker/src/test/java/org/apache/qpid/server/exchange/AbstractHeadersExchangeTestBase.java?rev=1186990&r1=1186989&r2=1186990&view=diff
==============================================================================
--- qpid/branches/QPID-2519/java/broker/src/test/java/org/apache/qpid/server/exchange/AbstractHeadersExchangeTestBase.java (original)
+++ qpid/branches/QPID-2519/java/broker/src/test/java/org/apache/qpid/server/exchange/AbstractHeadersExchangeTestBase.java Thu Oct 20 18:42:46 2011
@@ -52,6 +52,7 @@ import org.apache.qpid.server.store.Stor
 import org.apache.qpid.server.subscription.Subscription;
 import org.apache.qpid.server.util.InternalBrokerBaseCase;
 
+import java.nio.ByteBuffer;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
@@ -276,7 +277,7 @@ public class AbstractHeadersExchangeTest
     static ContentHeaderBody getContentHeader(FieldTable headers)
     {
         ContentHeaderBody header = new ContentHeaderBody();
-        header.properties = getProperties(headers);
+        header.setProperties(getProperties(headers));
         return header;
     }
 
@@ -428,21 +429,11 @@ public class AbstractHeadersExchangeTest
                     //To change body of implemented methods use File | Settings | File Templates.
                 }
 
-                public void reject(Subscription subscription)
-                {
-                    //To change body of implemented methods use File | Settings | File Templates.
-                }
-
-                public boolean isRejectedBy(Subscription subscription)
+                public boolean isRejectedBy(long subscriptionId)
                 {
                     return false;  //To change body of implemented methods use File | Settings | File Templates.
                 }
 
-                public void requeue(Subscription subscription) 
-                {
-                    //To change body of implemented methods use File | Settings | File Templates.
-                }
-
                 public void dequeue()
                 {
                     //To change body of implemented methods use File | Settings | File Templates.
@@ -482,6 +473,16 @@ public class AbstractHeadersExchangeTest
                 {
                     return 0;  //To change body of implemented methods use File | Settings | File Templates.
                 }
+
+                public boolean isDequeued()
+                {
+                    return false;
+                }
+
+                public boolean isDispensed()
+                {
+                    return false;
+                }
             };
 
             if(action != null)
@@ -565,8 +566,8 @@ public class AbstractHeadersExchangeTest
             int pos = 0;
             for(ContentBody body : bodies)
             {
-                storedMessage.addContent(pos, body.payload.duplicate().buf());
-                pos += body.payload.limit();
+                storedMessage.addContent(pos, ByteBuffer.wrap(body._payload));
+                pos += body._payload.length;
             }
 
             _incoming = new TestIncomingMessage(getMessageId(),publish, protocolsession);

Modified: qpid/branches/QPID-2519/java/broker/src/test/java/org/apache/qpid/server/exchange/TopicExchangeTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/QPID-2519/java/broker/src/test/java/org/apache/qpid/server/exchange/TopicExchangeTest.java?rev=1186990&r1=1186989&r2=1186990&view=diff
==============================================================================
--- qpid/branches/QPID-2519/java/broker/src/test/java/org/apache/qpid/server/exchange/TopicExchangeTest.java (original)
+++ qpid/branches/QPID-2519/java/broker/src/test/java/org/apache/qpid/server/exchange/TopicExchangeTest.java Thu Oct 20 18:42:46 2011
@@ -396,7 +396,7 @@ public class TopicExchangeTest extends I
         IncomingMessage message = new IncomingMessage(info);
         final ContentHeaderBody chb = new ContentHeaderBody();
         BasicContentHeaderProperties props = new BasicContentHeaderProperties();
-        chb.properties = props;
+        chb.setProperties(props);
         message.setContentHeaderBody(chb);
 
 

Modified: qpid/branches/QPID-2519/java/broker/src/test/java/org/apache/qpid/server/logging/UnitTestMessageLogger.java
URL: http://svn.apache.org/viewvc/qpid/branches/QPID-2519/java/broker/src/test/java/org/apache/qpid/server/logging/UnitTestMessageLogger.java?rev=1186990&r1=1186989&r2=1186990&view=diff
==============================================================================
--- qpid/branches/QPID-2519/java/broker/src/test/java/org/apache/qpid/server/logging/UnitTestMessageLogger.java (original)
+++ qpid/branches/QPID-2519/java/broker/src/test/java/org/apache/qpid/server/logging/UnitTestMessageLogger.java Thu Oct 20 18:42:46 2011
@@ -28,11 +28,7 @@ import org.apache.qpid.server.logging.Ab
 
 public class UnitTestMessageLogger extends AbstractRootMessageLogger
 {
-    List<Object> _log;
-    
-    {
-        _log = new LinkedList<Object>();
-    }
+    private final List<Object> _log = new LinkedList<Object>();
     
     public UnitTestMessageLogger()
     {
@@ -69,4 +65,14 @@ public class UnitTestMessageLogger exten
     {
         _log.clear();
     }
+    
+    public boolean messageContains(final int index, final String contains)
+    {
+        if (index + 1 > _log.size())
+        {
+            throw new IllegalArgumentException("Message with index " + index + " has not been logged");
+        }
+        final String message = _log.get(index).toString();
+        return message.contains(contains);
+    }
 }

Modified: qpid/branches/QPID-2519/java/broker/src/test/java/org/apache/qpid/server/logging/actors/ManagementActorTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/QPID-2519/java/broker/src/test/java/org/apache/qpid/server/logging/actors/ManagementActorTest.java?rev=1186990&r1=1186989&r2=1186990&view=diff
==============================================================================
--- qpid/branches/QPID-2519/java/broker/src/test/java/org/apache/qpid/server/logging/actors/ManagementActorTest.java (original)
+++ qpid/branches/QPID-2519/java/broker/src/test/java/org/apache/qpid/server/logging/actors/ManagementActorTest.java Thu Oct 20 18:42:46 2011
@@ -20,13 +20,13 @@
  */
 package org.apache.qpid.server.logging.actors;
 
-import org.apache.qpid.server.configuration.ServerConfiguration;
-import org.apache.qpid.server.logging.LogMessage;
-import org.apache.qpid.server.logging.LogSubject;
-import org.apache.qpid.AMQException;
-
+import java.security.PrivilegedAction;
+import java.util.Collections;
 import java.util.List;
 
+import javax.management.remote.JMXPrincipal;
+import javax.security.auth.Subject;
+
 /**
  * Test : AMQPManagementActorTest
  * Validate the AMQPManagementActor class.
@@ -96,8 +96,40 @@ public class ManagementActorTest extends
 
         // Verify that the message has the right values
         assertTrue("Message contains the [mng: prefix",
-                   logs.get(0).toString().contains("[mng:" + CONNECTION_ID + "(" + IP + ")"));
+                   logs.get(0).toString().contains("[mng:N/A(" + IP + ")"));
+    }
+
+    /**
+     * Tests appearance of principal name in log message
+     */
+    public void testSubjectPrincipalNameAppearance()
+    {
+        Subject subject = new Subject(true, Collections.singleton(new JMXPrincipal("guest")), Collections.EMPTY_SET,
+                Collections.EMPTY_SET);
+
+        final String message = Subject.doAs(subject, new PrivilegedAction<String>()
+        {
+            public String run()
+            {
+                return sendTestLogMessage(_amqpActor);
+            }
+        });
+
+        // Verify that the log message was created
+        assertNotNull("Test log message is not created!", message);
+
+        List<Object> logs = _rawLogger.getLogMessages();
+
+        // Verify that at least one log message was added to log
+        assertEquals("Message log size not as expected.", 1, logs.size());
+
+        String logMessage = logs.get(0).toString();
+
+        // Verify that the logged message is present in the output
+        assertTrue("Message was not found in log message", logMessage.contains(message));
 
+        // Verify that the message has the right principal value
+        assertTrue("Message contains the [mng: prefix", logMessage.contains("[mng:guest(" + IP + ")"));
     }
 
 }

Modified: qpid/branches/QPID-2519/java/broker/src/test/java/org/apache/qpid/server/logging/messages/ExchangeMessagesTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/QPID-2519/java/broker/src/test/java/org/apache/qpid/server/logging/messages/ExchangeMessagesTest.java?rev=1186990&r1=1186989&r2=1186990&view=diff
==============================================================================
--- qpid/branches/QPID-2519/java/broker/src/test/java/org/apache/qpid/server/logging/messages/ExchangeMessagesTest.java (original)
+++ qpid/branches/QPID-2519/java/broker/src/test/java/org/apache/qpid/server/logging/messages/ExchangeMessagesTest.java Thu Oct 20 18:42:46 2011
@@ -66,7 +66,6 @@ public class ExchangeMessagesTest extend
         validateLogMessage(log, "EXH-1001", expected);
     }
 
-
     public void testExchangeDeleted()
     {
         _logMessage = ExchangeMessages.DELETED();
@@ -77,4 +76,21 @@ public class ExchangeMessagesTest extend
         validateLogMessage(log, "EXH-1002", expected);
     }
 
+    public void testExchangeDiscardedMessage()
+    {
+        // Get the Default Exchange on the Test Vhost for testing
+        final Exchange exchange = ApplicationRegistry.getInstance().
+                getVirtualHostRegistry().getVirtualHost("test").
+                getExchangeRegistry().getDefaultExchange();
+
+        final String name = exchange.getNameShortString().toString();
+        final String routingKey = "routingKey";
+
+        _logMessage = ExchangeMessages.DISCARDMSG(name, routingKey);
+        List<Object> log = performLog();
+
+        String[] expected = {"Discarded Message :","Name:", name, "Routing Key:", routingKey};
+
+        validateLogMessage(log, "EXH-1003", expected);
+    }
 }



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org