You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by or...@apache.org on 2013/01/18 18:55:54 UTC

svn commit: r1435277 - in /qpid/branches/java-broker-config-qpid-4390/qpid/java: broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/ broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugi...

Author: orudyy
Date: Fri Jan 18 17:55:53 2013
New Revision: 1435277

URL: http://svn.apache.org/viewvc?rev=1435277&view=rev
Log:
QPID-4390: Introduce defaults in jmx management plugin

Removed:
    qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXConfiguration.java
Modified:
    qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java
    qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagementFactory.java
    qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/HttpManagementFactoryTest.java
    qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagedObjectRegistry.java
    qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagement.java
    qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagementFactory.java
    qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/MBeanInvocationHandlerImpl.java
    qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-jmx/src/test/java/org/apache/qpid/server/jmx/JMXManagementFactoryTest.java
    qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/BrokerProperties.java
    qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java
    qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/GroupProviderRecoverer.java
    qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/AbstractPluginAdapter.java
    qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/GroupProviderAdapter.java
    qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHostImpl.java
    qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/resources/default.json
    qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/virtualhost/VirtualHostImplTest.java
    qpid/branches/java-broker-config-qpid-4390/qpid/java/systests/src/main/java/org/apache/qpid/systest/management/jmx/ManagementLoggingTest.java
    qpid/branches/java-broker-config-qpid-4390/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java

Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java?rev=1435277&r1=1435276&r2=1435277&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java Fri Jan 18 17:55:53 2013
@@ -23,6 +23,7 @@ package org.apache.qpid.server.managemen
 import java.io.File;
 import java.util.Collection;
 import java.util.Collections;
+import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Map;
 import java.util.UUID;
@@ -58,6 +59,7 @@ import org.apache.qpid.server.model.Stat
 import org.apache.qpid.server.model.User;
 import org.apache.qpid.server.model.VirtualHost;
 import org.apache.qpid.server.model.adapter.AbstractPluginAdapter;
+import org.apache.qpid.server.plugin.PluginFactory;
 import org.eclipse.jetty.server.Connector;
 import org.eclipse.jetty.server.Server;
 import org.eclipse.jetty.server.SessionManager;
@@ -71,31 +73,57 @@ public class HttpManagement extends Abst
 {
     private final Logger _logger = Logger.getLogger(HttpManagement.class);
 
+    // 10 minutes by default
+    public static final int DEFAULT_TIMEOUT_IN_SECONDS = 60 * 10;
+
+    public static final String TIME_OUT = "sessionTimeout";
+    public static final String KEY_STORE_PATH = "keyStorePath";
+    public static final String KEY_STORE_PASSWORD = "keyStorePassword";
+    public static final String HTTP_BASIC_AUTHENTICATION_ENABLED = "httpBasicAuthenticationEnabled";
+    public static final String HTTPS_BASIC_AUTHENTICATION_ENABLED = "httpsBasicAuthenticationEnabled";
+    public static final String HTTP_SASL_AUTHENTICATION_ENABLED = "httpSaslAuthenticationEnabled";
+    public static final String HTTPS_SASL_AUTHENTICATION_ENABLED = "httpsSaslAuthenticationEnabled";
+
+    public static final String PLUGIN_NAME = "MANAGEMENT-HTTP";
+
     private static final Collection<String> AVAILABLE_ATTRIBUTES = new HashSet<String>(Plugin.AVAILABLE_ATTRIBUTES);
     static
     {
-        AVAILABLE_ATTRIBUTES.add(HttpManagementFactory.HTTP_BASIC_AUTHENTICATION_ENABLED);
-        AVAILABLE_ATTRIBUTES.add(HttpManagementFactory.HTTPS_BASIC_AUTHENTICATION_ENABLED);
-        AVAILABLE_ATTRIBUTES.add(HttpManagementFactory.HTTP_SASL_AUTHENTICATION_ENABLED);
-        AVAILABLE_ATTRIBUTES.add(HttpManagementFactory.HTTPS_SASL_AUTHENTICATION_ENABLED);
-        AVAILABLE_ATTRIBUTES.add(HttpManagementFactory.TIME_OUT);
-        AVAILABLE_ATTRIBUTES.add(HttpManagementFactory.PLUGIN_TYPE);
+        AVAILABLE_ATTRIBUTES.add(HTTP_BASIC_AUTHENTICATION_ENABLED);
+        AVAILABLE_ATTRIBUTES.add(HTTPS_BASIC_AUTHENTICATION_ENABLED);
+        AVAILABLE_ATTRIBUTES.add(HTTP_SASL_AUTHENTICATION_ENABLED);
+        AVAILABLE_ATTRIBUTES.add(HTTPS_SASL_AUTHENTICATION_ENABLED);
+        AVAILABLE_ATTRIBUTES.add(TIME_OUT);
+        AVAILABLE_ATTRIBUTES.add(PluginFactory.PLUGIN_TYPE);
     }
 
-
     public static final String ENTRY_POINT_PATH = "/management";
 
     private static final String OPERATIONAL_LOGGING_NAME = "Web";
 
+    protected static final boolean DEFAULT_HTTP_BASIC_AUTHENTICATION_ENABLED = false;
+    protected static final boolean DEFAULT_HTTPS_BASIC_AUTHENTICATION_ENABLED = true;
+    protected static final boolean DEFAULT_HTTP_SASL_AUTHENTICATION_ENABLED = true;
+    protected static final boolean DEFAULT_HTTPS_SASL_AUTHENTICATION_ENABLED = true;
+
+    @SuppressWarnings("serial")
+    public static final Map<String, Object> DEFAULTS = new HashMap<String, Object>()
+            {{
+                put(HTTP_BASIC_AUTHENTICATION_ENABLED, DEFAULT_HTTP_BASIC_AUTHENTICATION_ENABLED);
+                put(HTTPS_BASIC_AUTHENTICATION_ENABLED, DEFAULT_HTTPS_BASIC_AUTHENTICATION_ENABLED);
+                put(HTTP_SASL_AUTHENTICATION_ENABLED, DEFAULT_HTTP_SASL_AUTHENTICATION_ENABLED);
+                put(HTTPS_SASL_AUTHENTICATION_ENABLED, DEFAULT_HTTPS_SASL_AUTHENTICATION_ENABLED);
+            }};
+
     private final Broker _broker;
 
     private Server _server;
 
     private final HttpConfiguration _configuration;
 
-    public HttpManagement(UUID id, Broker broker, HttpConfiguration configuration, Map<String, Object> defaults)
+    public HttpManagement(UUID id, Broker broker, HttpConfiguration configuration)
     {
-        super(id, defaults);
+        super(id, DEFAULTS, null);
         _broker = broker;
         _configuration = configuration;
         addParent(Broker.class, broker);
@@ -357,29 +385,29 @@ public class HttpManagement extends Abst
     @Override
     public Object getAttribute(String name)
     {
-        if(HttpManagementFactory.HTTP_BASIC_AUTHENTICATION_ENABLED.equals(name))
+        if(HTTP_BASIC_AUTHENTICATION_ENABLED.equals(name))
         {
             return _configuration.isHttpBasicAuthenticationEnabled();
         }
-        else if(HttpManagementFactory.HTTPS_BASIC_AUTHENTICATION_ENABLED.equals(name))
+        else if(HTTPS_BASIC_AUTHENTICATION_ENABLED.equals(name))
         {
             return _configuration.isHttpsBasicAuthenticationEnabled();
         }
-        else if(HttpManagementFactory.HTTP_SASL_AUTHENTICATION_ENABLED.equals(name))
+        else if(HTTP_SASL_AUTHENTICATION_ENABLED.equals(name))
         {
             return _configuration.isHttpSaslAuthenticationEnabled();
         }
-        else if(HttpManagementFactory.HTTPS_SASL_AUTHENTICATION_ENABLED.equals(name))
+        else if(HTTPS_SASL_AUTHENTICATION_ENABLED.equals(name))
         {
             return _configuration.isHttpSaslAuthenticationEnabled();
         }
-        else if(HttpManagementFactory.TIME_OUT.equals(name))
+        else if(TIME_OUT.equals(name))
         {
             return _configuration.getSessionTimeout();
         }
-        else if(HttpManagementFactory.PLUGIN_TYPE.equals(name))
+        else if(PluginFactory.PLUGIN_TYPE.equals(name))
         {
-            return HttpManagementFactory.PLUGIN_NAME;
+            return PLUGIN_NAME;
         }
         return super.getAttribute(name);
     }

Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagementFactory.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagementFactory.java?rev=1435277&r1=1435276&r2=1435277&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagementFactory.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagementFactory.java Fri Jan 18 17:55:53 2013
@@ -18,6 +18,7 @@
  */
 package org.apache.qpid.server.management.plugin;
 
+import static org.apache.qpid.server.management.plugin.HttpManagement.*;
 import static org.apache.qpid.server.util.MapValueConverter.getBooleanAttribute;
 import static org.apache.qpid.server.util.MapValueConverter.getIntegerAttribute;
 import static org.apache.qpid.server.util.MapValueConverter.getStringAttribute;
@@ -31,18 +32,6 @@ import org.apache.qpid.server.plugin.Plu
 
 public class HttpManagementFactory implements PluginFactory
 {
-    // 10 minutes by default
-    private static final int DEFAULT_TIMEOUT_IN_SECONDS = 60 * 10;
-
-    public static final String TIME_OUT = "sessionTimeout";
-    public static final String KEY_STORE_PATH = "keyStorePath";
-    public static final String KEY_STORE_PASSWORD = "keyStorePassword";
-    public static final String HTTP_BASIC_AUTHENTICATION_ENABLED = "httpBasicAuthenticationEnabled";
-    public static final String HTTPS_BASIC_AUTHENTICATION_ENABLED = "httpsBasicAuthenticationEnabled";
-    public static final String HTTP_SASL_AUTHENTICATION_ENABLED = "httpSaslAuthenticationEnabled";
-    public static final String HTTPS_SASL_AUTHENTICATION_ENABLED = "httpsSaslAuthenticationEnabled";
-
-    public static final String PLUGIN_NAME = "MANAGEMENT-HTTP";
 
     @Override
     public Plugin createInstance(UUID id, Map<String, Object> attributes, Broker broker)
@@ -61,8 +50,7 @@ public class HttpManagementFactory imple
                 getStringAttribute(KEY_STORE_PATH, attributes, null),
                 getStringAttribute(KEY_STORE_PASSWORD, attributes, null)
                 );
-        //TODO: create defaults
-        Map<String, Object> defaults = null;
-        return new HttpManagement( id, broker, configuration, defaults);
+
+        return new HttpManagement( id, broker, configuration);
     }
 }

Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/HttpManagementFactoryTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/HttpManagementFactoryTest.java?rev=1435277&r1=1435276&r2=1435277&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/HttpManagementFactoryTest.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/HttpManagementFactoryTest.java Fri Jan 18 17:55:53 2013
@@ -51,8 +51,8 @@ public class HttpManagementFactoryTest e
 
     public void testCreateInstanceWithoutKeystore() throws Exception
     {
-        _attributes.put(PluginFactory.PLUGIN_TYPE, HttpManagementFactory.PLUGIN_NAME);
-        _attributes.put(HttpManagementFactory.TIME_OUT, SESSION_TIMEOUT);
+        _attributes.put(PluginFactory.PLUGIN_TYPE, HttpManagement.PLUGIN_NAME);
+        _attributes.put(HttpManagement.TIME_OUT, SESSION_TIMEOUT);
 
         HttpManagement management = (HttpManagement) _pluginFactory.createInstance(_id, _attributes, _broker);
 
@@ -64,10 +64,10 @@ public class HttpManagementFactoryTest e
 
     public void testCreateInstanceWithKeystore() throws Exception
     {
-        _attributes.put(PluginFactory.PLUGIN_TYPE, HttpManagementFactory.PLUGIN_NAME);
-        _attributes.put(HttpManagementFactory.KEY_STORE_PASSWORD, KEY_STORE_PASSWORD);
-        _attributes.put(HttpManagementFactory.KEY_STORE_PATH, KEY_STORE_PATH);
-        _attributes.put(HttpManagementFactory.TIME_OUT, SESSION_TIMEOUT);
+        _attributes.put(PluginFactory.PLUGIN_TYPE, HttpManagement.PLUGIN_NAME);
+        _attributes.put(HttpManagement.KEY_STORE_PASSWORD, KEY_STORE_PASSWORD);
+        _attributes.put(HttpManagement.KEY_STORE_PATH, KEY_STORE_PATH);
+        _attributes.put(HttpManagement.TIME_OUT, SESSION_TIMEOUT);
 
         HttpManagement management = (HttpManagement) _pluginFactory.createInstance(_id, _attributes, _broker);
 

Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagedObjectRegistry.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagedObjectRegistry.java?rev=1435277&r1=1435276&r2=1435277&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagedObjectRegistry.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagedObjectRegistry.java Fri Jan 18 17:55:53 2013
@@ -21,6 +21,7 @@
 package org.apache.qpid.server.jmx;
 
 import org.apache.log4j.Logger;
+import org.apache.qpid.server.configuration.BrokerProperties;
 import org.apache.qpid.server.configuration.IllegalConfigurationException;
 import org.apache.qpid.server.logging.actors.CurrentActor;
 import org.apache.qpid.server.logging.messages.ManagementConsoleMessages;
@@ -64,8 +65,6 @@ import java.util.HashMap;
  */
 public class JMXManagedObjectRegistry implements ManagedObjectRegistry
 {
-    public static final String USE_CUSTOM_RMI_SOCKET_FACTORY = "qpid.use_custom_rmi_socket_factory";
-
     private static final Logger _log = Logger.getLogger(JMXManagedObjectRegistry.class);
 
     private static final String OPERATIONAL_LOGGING_NAME = "JMX";
@@ -79,24 +78,21 @@ public class JMXManagedObjectRegistry im
     private final Port _registryPort;
     private final Port _connectorPort;
 
-    private final JMXConfiguration _jmxConfiguration;
-
-    public JMXManagedObjectRegistry(
+     public JMXManagedObjectRegistry(
             Broker broker,
             Port connectorPort, Port registryPort,
-            JMXConfiguration jmxConfiguration)
+            JMXManagement jmxManagement)
     {
         _broker = broker;
         _registryPort = registryPort;
         _connectorPort = connectorPort;
 
-        boolean platformServer = jmxConfiguration.isPlatformMBeanServer();
+        boolean usePlatformServer = (Boolean)jmxManagement.getAttribute(JMXManagement.USE_PLATFORM_MBEAN_SERVER);
 
         _mbeanServer =
-                platformServer ? ManagementFactory.getPlatformMBeanServer()
+                usePlatformServer ? ManagementFactory.getPlatformMBeanServer()
                 : MBeanServerFactory.createMBeanServer(ManagedObject.DOMAIN);
-        _jmxConfiguration = jmxConfiguration;
-    }
+     }
 
     @Override
     public void start() throws IOException
@@ -126,24 +122,15 @@ public class JMXManagedObjectRegistry im
 
         if (connectorSslEnabled)
         {
-            String managementKeyStorePath = _jmxConfiguration.getManagementKeyStorePath();
-            String managementKeyStorePassword = _jmxConfiguration.getManagementKeyStorePath();
-
-            //set the SSL related system properties used by the SSL RMI socket factories to the values
-            //given in the configuration file
-            checkKeyStorePathExistsAndIsReadable(managementKeyStorePath );
+            checkKeyStorePathExistsAndIsReadable();
 
-            CurrentActor.get().message(ManagementConsoleMessages.SSL_KEYSTORE(managementKeyStorePath));
+            CurrentActor.get().message(ManagementConsoleMessages.SSL_KEYSTORE(System.getProperty("javax.net.ssl.keyStore")));
 
-            if (managementKeyStorePassword == null)
+            if (System.getProperty("javax.net.ssl.keyStorePassword") == null)
             {
                 throw new IllegalConfigurationException(
                         "JMX management SSL keystore password not defined, unable to start requested SSL protected JMX server");
             }
-            else
-            {
-               System.setProperty("javax.net.ssl.keyStorePassword", managementKeyStorePassword);
-            }
 
             //create the SSL RMI socket factories
             csf = new SslRMIClientSocketFactory();
@@ -165,7 +152,7 @@ public class JMXManagedObjectRegistry im
         connectorEnv.put(JMXConnectorServer.AUTHENTICATOR, rmipa);
 
         System.setProperty("java.rmi.server.randomIDs", "true");
-        boolean useCustomSocketFactory = Boolean.parseBoolean(System.getProperty(USE_CUSTOM_RMI_SOCKET_FACTORY, Boolean.TRUE.toString()));
+        boolean useCustomSocketFactory = Boolean.parseBoolean(System.getProperty(BrokerProperties.PROPERTY_USE_CUSTOM_RMI_SOCKET_FACTORY, Boolean.TRUE.toString()));
 
         /*
          * Start a RMI registry on the management port, to hold the JMX RMI ConnectorServer stub.
@@ -242,7 +229,7 @@ public class JMXManagedObjectRegistry im
         };
 
         //Add the custom invoker as an MBeanServerForwarder, and start the RMIConnectorServer.
-        MBeanServerForwarder mbsf = MBeanInvocationHandlerImpl.newProxyInstance(_broker, _jmxConfiguration);
+        MBeanServerForwarder mbsf = MBeanInvocationHandlerImpl.newProxyInstance(_broker);
         _cs.setMBeanServerForwarder(mbsf);
 
         // Install a ManagementLogonLogoffReporter so we can report as users logon/logoff
@@ -278,20 +265,17 @@ public class JMXManagedObjectRegistry im
         return rmiRegistry;
     }
 
-    private void checkKeyStorePathExistsAndIsReadable(String keyStorePath) throws FileNotFoundException
+    private void checkKeyStorePathExistsAndIsReadable() throws FileNotFoundException
     {
-        //check the keystore path value is valid
+        String keyStorePath = System.getProperty("javax.net.ssl.keyStore");
+
         if (keyStorePath == null)
         {
             throw new IllegalConfigurationException(
-                    "JMX management SSL keystore path not defined, unable to start SSL protected JMX ConnectorServer");
+                    "JVM system proprty 'javax.net.ssl.keyStore' is not set, unable to start SSL protected JMX ConnectorServer");
         }
         else
         {
-            //ensure the system property is set (for use by SslRMIClientSocketFactory and SslRMIServerSocketFactory)
-            System.setProperty("javax.net.ssl.keyStore", keyStorePath);
-
-            //check the file is usable
             File ksf = new File(keyStorePath);
 
             if (!ksf.exists())

Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagement.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagement.java?rev=1435277&r1=1435276&r2=1435277&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagement.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagement.java Fri Jan 18 17:55:53 2013
@@ -49,32 +49,55 @@ import org.apache.qpid.server.model.Prot
 import org.apache.qpid.server.model.State;
 import org.apache.qpid.server.model.VirtualHost;
 import org.apache.qpid.server.model.adapter.AbstractPluginAdapter;
+import org.apache.qpid.server.plugin.PluginFactory;
 import org.apache.qpid.server.plugin.QpidServiceLoader;
+import org.apache.qpid.server.util.MapValueConverter;
 
 public class JMXManagement extends AbstractPluginAdapter implements ConfigurationChangeListener
 {
     private static final Logger LOGGER = Logger.getLogger(JMXManagement.class);
 
-    private static final Collection<String> AVAILABLE_ATTRIBUTES = new HashSet<String>(Plugin.AVAILABLE_ATTRIBUTES);
-    static
-    {
-        AVAILABLE_ATTRIBUTES.add(JMXManagementFactory.MANAGEMENT_RIGHTS_INFER_ALL_ACCESS);
-        AVAILABLE_ATTRIBUTES.add(JMXManagementFactory.PLUGIN_TYPE);
-        AVAILABLE_ATTRIBUTES.add(JMXManagementFactory.USE_PLATFORM_MBEAN_SERVER);
-    }
+    public static final String PLUGIN_TYPE = "MANAGEMENT-JMX";
+
+    // attributes
+    public static final String USE_PLATFORM_MBEAN_SERVER = "usePlatformMBeanServer";
+    public static final String NAME = "name";
+
+    // default values
+    public static final String DEFAULT_NAME = "JMXManagement";
+    public static final boolean DEFAULT_USE_PLATFORM_MBEAN_SERVER = true;
+
+    @SuppressWarnings("serial")
+    private static final Collection<String> AVAILABLE_ATTRIBUTES = Collections.unmodifiableCollection(new HashSet<String>(Plugin.AVAILABLE_ATTRIBUTES){{
+        add(NAME);
+        add(USE_PLATFORM_MBEAN_SERVER);
+        add(PluginFactory.PLUGIN_TYPE);
+    }});
+
+    @SuppressWarnings("serial")
+    private static final Map<String, Object> DEFAULTS = new HashMap<String, Object>(){{
+        put(USE_PLATFORM_MBEAN_SERVER, DEFAULT_USE_PLATFORM_MBEAN_SERVER);
+        put(NAME, DEFAULT_NAME);
+        put(PluginFactory.PLUGIN_TYPE, PLUGIN_TYPE);
+    }};
+
+    @SuppressWarnings("serial")
+    private static final Map<String, Class<?>> ATTRIBUTE_TYPES = new HashMap<String, Class<?>>(){{
+        put(USE_PLATFORM_MBEAN_SERVER, Boolean.class);
+        put(NAME, String.class);
+        put(PluginFactory.PLUGIN_TYPE, String.class);
+    }};
 
     private final Broker _broker;
     private JMXManagedObjectRegistry _objectRegistry;
 
     private final Map<ConfiguredObject, AMQManagedObject> _children = new HashMap<ConfiguredObject, AMQManagedObject>();
 
-    private final JMXConfiguration _jmxConfiguration;
-
-    public JMXManagement(UUID id, Broker broker, JMXConfiguration jmxConfiguration, Map<String, Object> defaults)
+    public JMXManagement(UUID id, Broker broker, Map<String, Object> attributes)
     {
-        super(id, defaults);
+        super(id, DEFAULTS, MapValueConverter.convert(attributes, ATTRIBUTE_TYPES));
         _broker = broker;
-        _jmxConfiguration = jmxConfiguration;
+        addParent(Broker.class, broker);
     }
 
     @Override
@@ -129,7 +152,7 @@ public class JMXManagement extends Abstr
             throw new IllegalStateException("No JMX RMI port found supporting protocol " + Protocol.RMI);
         }
 
-        _objectRegistry = new JMXManagedObjectRegistry(_broker, connectorPort, registryPort, _jmxConfiguration);
+        _objectRegistry = new JMXManagedObjectRegistry(_broker, connectorPort, registryPort, this);
 
         _broker.addChangeListener(this);
 
@@ -294,30 +317,13 @@ public class JMXManagement extends Abstr
     @Override
     public String getName()
     {
-        return "JMXManagement";
+        return (String)getAttribute(NAME);
     }
 
     @Override
     public Collection<String> getAttributeNames()
     {
-        return Collections.unmodifiableCollection(AVAILABLE_ATTRIBUTES);
+        return AVAILABLE_ATTRIBUTES;
     }
 
-    @Override
-    public Object getAttribute(String name)
-    {
-        if(JMXManagementFactory.MANAGEMENT_RIGHTS_INFER_ALL_ACCESS.equals(name))
-        {
-            return _jmxConfiguration.isManagementRightsInferAllAccess();
-        }
-        else if(JMXManagementFactory.USE_PLATFORM_MBEAN_SERVER.equals(name))
-        {
-            return _jmxConfiguration.isPlatformMBeanServer();
-        }
-        else if(JMXManagementFactory.PLUGIN_TYPE.equals(name))
-        {
-            return JMXManagementFactory.PLUGIN_NAME;
-        }
-        return super.getAttribute(name);
-    }
 }

Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagementFactory.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagementFactory.java?rev=1435277&r1=1435276&r2=1435277&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagementFactory.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagementFactory.java Fri Jan 18 17:55:53 2013
@@ -18,9 +18,6 @@
  */
 package org.apache.qpid.server.jmx;
 
-import static org.apache.qpid.server.util.MapValueConverter.getBooleanAttribute;
-import static org.apache.qpid.server.util.MapValueConverter.getStringAttribute;
-
 import java.util.Map;
 import java.util.UUID;
 
@@ -33,35 +30,16 @@ public class JMXManagementFactory implem
 {
     private static final Logger LOGGER = Logger.getLogger(JMXManagementFactory.class);
 
-    public static final String USE_PLATFORM_MBEAN_SERVER = "usePlatformMBeanServer";
-
-    //TODO: re-factor key store settings
-    public static final String KEY_STORE_PATH = "keyStorePath";
-    public static final String KEY_STORE_PASSWORD = "keyStorePassword";
-
-    //TODO: make it set via system property
-    public static final String MANAGEMENT_RIGHTS_INFER_ALL_ACCESS = "managementRightsInferAllAccess";
-
-    public static final String PLUGIN_NAME = "MANAGEMENT-JMX";
-
     @Override
     public Plugin createInstance(UUID id, Map<String, Object> attributes, Broker broker)
     {
-        if (PLUGIN_NAME.equals(attributes.get(PLUGIN_TYPE)))
+        if (JMXManagement.PLUGIN_TYPE.equals(attributes.get(PLUGIN_TYPE)))
         {
-            JMXConfiguration jmxConfiguration = new JMXConfiguration(
-                    getBooleanAttribute(USE_PLATFORM_MBEAN_SERVER, attributes, true),
-                    getStringAttribute(KEY_STORE_PATH, attributes, null),
-                    getStringAttribute(KEY_STORE_PASSWORD, attributes, null),
-                    getBooleanAttribute(MANAGEMENT_RIGHTS_INFER_ALL_ACCESS, attributes, true));
-
-            //TODO: create defaults
-            Map<String, Object> defaults = null;
-            return new JMXManagement(id, broker, jmxConfiguration, defaults);
+            return new JMXManagement(id, broker, attributes);
         }
         else
         {
-            if(LOGGER.isDebugEnabled())
+            if (LOGGER.isDebugEnabled())
             {
                 LOGGER.debug("Skipping registration of JMX plugin as JMX Management disabled in config.");
             }

Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/MBeanInvocationHandlerImpl.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/MBeanInvocationHandlerImpl.java?rev=1435277&r1=1435276&r2=1435277&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/MBeanInvocationHandlerImpl.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/MBeanInvocationHandlerImpl.java Fri Jan 18 17:55:53 2013
@@ -22,6 +22,7 @@ package org.apache.qpid.server.jmx;
 
 import org.apache.log4j.Logger;
 
+import org.apache.qpid.server.configuration.BrokerProperties;
 import org.apache.qpid.server.logging.actors.CurrentActor;
 import org.apache.qpid.server.logging.actors.ManagementActor;
 import org.apache.qpid.server.model.Broker;
@@ -62,16 +63,16 @@ public class MBeanInvocationHandlerImpl 
     private final boolean _managementRightsInferAllAccess;
     private final Broker _broker;
 
-    MBeanInvocationHandlerImpl(Broker broker, boolean managementRightsInferAllAccess)
+    MBeanInvocationHandlerImpl(Broker broker)
     {
-        _managementRightsInferAllAccess = managementRightsInferAllAccess;
+        _managementRightsInferAllAccess = Boolean.valueOf(System.getProperty(BrokerProperties.PROPERTY_MANAGEMENT_RIGHTS_INFER_ALL_ACCESS, "true"));
         _broker = broker;
         _logActor = new ManagementActor(broker.getRootMessageLogger());
     }
 
-    public static MBeanServerForwarder newProxyInstance(Broker broker, JMXConfiguration configuration)
+    public static MBeanServerForwarder newProxyInstance(Broker broker)
     {
-        final InvocationHandler handler = new MBeanInvocationHandlerImpl(broker, configuration.isManagementRightsInferAllAccess());
+        final InvocationHandler handler = new MBeanInvocationHandlerImpl(broker);
         final Class<?>[] interfaces = new Class[] { MBeanServerForwarder.class };
 
         Object proxy = Proxy.newProxyInstance(MBeanServerForwarder.class.getClassLoader(), interfaces, handler);

Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-jmx/src/test/java/org/apache/qpid/server/jmx/JMXManagementFactoryTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-jmx/src/test/java/org/apache/qpid/server/jmx/JMXManagementFactoryTest.java?rev=1435277&r1=1435276&r2=1435277&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-jmx/src/test/java/org/apache/qpid/server/jmx/JMXManagementFactoryTest.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-jmx/src/test/java/org/apache/qpid/server/jmx/JMXManagementFactoryTest.java Fri Jan 18 17:55:53 2013
@@ -37,11 +37,14 @@ public class JMXManagementFactoryTest ex
 
     public void testJMXConfigured() throws Exception
     {
-        _attributes.put(PluginFactory.PLUGIN_TYPE, JMXManagementFactory.PLUGIN_NAME);
+        _attributes.put(PluginFactory.PLUGIN_TYPE, JMXManagement.PLUGIN_TYPE);
 
         JMXManagement jmxManagement = (JMXManagement) _jmxManagementFactory.createInstance(_id, _attributes, _broker);
 
         assertNotNull(jmxManagement);
+        assertEquals("Unexpected plugin type", JMXManagement.PLUGIN_TYPE, jmxManagement.getAttribute(JMXManagementFactory.PLUGIN_TYPE));
+        assertEquals("Unexpected default mbean platform", JMXManagement.DEFAULT_USE_PLATFORM_MBEAN_SERVER, jmxManagement.getAttribute(JMXManagement.USE_PLATFORM_MBEAN_SERVER));
+        assertEquals("Unexpected default name", JMXManagement.DEFAULT_NAME, jmxManagement.getAttribute(JMXManagement.NAME));
     }
 
     public void testCreateInstanceReturnsNullWhenPluginTypeMissing()

Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/BrokerProperties.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/BrokerProperties.java?rev=1435277&r1=1435276&r2=1435277&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/BrokerProperties.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/BrokerProperties.java Fri Jan 18 17:55:53 2013
@@ -23,6 +23,9 @@ public class BrokerProperties
     public static final String PROPERTY_BROKER_DEFAULT_AMQP_PROTOCOL_EXCLUDES = "qpid.broker_default_amqp_protocol_excludes";
     public static final String PROPERTY_BROKER_DEFAULT_AMQP_PROTOCOL_INCLUDES = "qpid.broker_default_amqp_protocol_includes";
 
+    public static final String PROPERTY_MANAGEMENT_RIGHTS_INFER_ALL_ACCESS = "qpid.broker_management_rights_infer_all_access";
+    public static final String PROPERTY_USE_CUSTOM_RMI_SOCKET_FACTORY = "qpid.broker_use_custom_rmi_socket_factory";
+
     private BrokerProperties()
     {
     }

Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java?rev=1435277&r1=1435276&r2=1435277&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java Fri Jan 18 17:55:53 2013
@@ -55,7 +55,7 @@ public class ServerConfiguration extends
     public static final int DEFAULT_HTTPS_MANAGEMENT_PORT = 8443;
     public static final long DEFAULT_MINIMUM_ALERT_REPEAT_GAP = 30000l;
 
-    public static final String USE_CUSTOM_RMI_SOCKET_FACTORY = "qpid.use_custom_rmi_socket_factory";
+    public static final String USE_CUSTOM_RMI_SOCKET_FACTORY = BrokerProperties.PROPERTY_USE_CUSTOM_RMI_SOCKET_FACTORY;
 
     public static final String QPID_HOME = "QPID_HOME";
     public static final String QPID_WORK = "QPID_WORK";

Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/GroupProviderRecoverer.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/GroupProviderRecoverer.java?rev=1435277&r1=1435276&r2=1435277&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/GroupProviderRecoverer.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/GroupProviderRecoverer.java Fri Jan 18 17:55:53 2013
@@ -54,9 +54,7 @@ public class GroupProviderRecoverer impl
         {
             throw new IllegalConfigurationException("Cannot create GroupManager from attributes : " + attributes);
         }
-        //TODO: add defaults
-        Map<String, Object> defaults = null;
-        GroupProviderAdapter groupProviderAdapter = new GroupProviderAdapter(configurationEntry.getId(), groupManager, broker, defaults);
+        GroupProviderAdapter groupProviderAdapter = new GroupProviderAdapter(configurationEntry.getId(), groupManager, broker);
         return groupProviderAdapter;
     }
 

Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/AbstractPluginAdapter.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/AbstractPluginAdapter.java?rev=1435277&r1=1435276&r2=1435277&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/AbstractPluginAdapter.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/AbstractPluginAdapter.java Fri Jan 18 17:55:53 2013
@@ -35,9 +35,9 @@ import org.apache.qpid.server.model.Stat
 public abstract class AbstractPluginAdapter extends AbstractAdapter implements Plugin
 {
 
-    protected AbstractPluginAdapter(UUID id, Map<String, Object> defaults)
+    protected AbstractPluginAdapter(UUID id, Map<String, Object> defaults, Map<String, Object> attributes)
     {
-        super(id, defaults);
+        super(id, defaults, attributes);
     }
 
     @Override
@@ -122,10 +122,6 @@ public abstract class AbstractPluginAdap
         {
             return getId();
         }
-        else if (NAME.equals(name))
-        {
-            return getName();
-        }
         else if (STATE.equals(name))
         {
             return getActualState();

Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/GroupProviderAdapter.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/GroupProviderAdapter.java?rev=1435277&r1=1435276&r2=1435277&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/GroupProviderAdapter.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/GroupProviderAdapter.java Fri Jan 18 17:55:53 2013
@@ -47,9 +47,9 @@ public class GroupProviderAdapter extend
 {
     private final GroupManager _groupManager;
     private final Broker _broker;
-    public GroupProviderAdapter(UUID id, GroupManager groupManager, Broker broker, Map<String, Object> defaults)
+    public GroupProviderAdapter(UUID id, GroupManager groupManager, Broker broker)
     {
-        super(id, defaults);
+        super(id);
 
         if (groupManager == null)
         {

Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHostImpl.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHostImpl.java?rev=1435277&r1=1435276&r2=1435277&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHostImpl.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHostImpl.java Fri Jan 18 17:55:53 2013
@@ -146,15 +146,7 @@ public class VirtualHostImpl implements 
 
         _bindingFactory = new BindingFactory(this);
 
-        String storeType = hostConfig.getConfig().getString("store.type");
-        if (storeType == null)
-        {
-            _messageStore = initialiseMessageStore(hostConfig.getMessageStoreClass());
-        }
-        else
-        {
-            _messageStore = new MessageStoreCreator().createMessageStore(storeType);
-        }
+        _messageStore = initialiseMessageStore(hostConfig);
 
         configureMessageStore(hostConfig);
 
@@ -283,14 +275,29 @@ public class VirtualHostImpl implements 
         }
 
         final MessageStore messageStore = (MessageStore) o;
-        final MessageStoreLogSubject storeLogSubject = new MessageStoreLogSubject(this, clazz.getSimpleName());
+        return messageStore;
+    }
+
+    private MessageStore initialiseMessageStore(VirtualHostConfiguration hostConfig) throws Exception
+    {
+        String storeType = hostConfig.getConfig().getString("store.type");
+        MessageStore  messageStore = null;
+        if (storeType == null)
+        {
+            messageStore = initialiseMessageStore(hostConfig.getMessageStoreClass());
+        }
+        else
+        {
+            messageStore = new MessageStoreCreator().createMessageStore(storeType);
+        }
+
+        final MessageStoreLogSubject storeLogSubject = new MessageStoreLogSubject(this, messageStore.getClass().getSimpleName());
         OperationalLoggingListener.listen(messageStore, storeLogSubject);
 
         messageStore.addEventListener(new BeforeActivationListener(), Event.BEFORE_ACTIVATE);
         messageStore.addEventListener(new AfterActivationListener(), Event.AFTER_ACTIVATE);
         messageStore.addEventListener(new BeforeCloseListener(), Event.BEFORE_CLOSE);
         messageStore.addEventListener(new BeforePassivationListener(), Event.BEFORE_PASSIVATE);
-
         return messageStore;
     }
 

Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/resources/default.json
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/resources/default.json?rev=1435277&r1=1435276&r2=1435277&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/resources/default.json (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/resources/default.json Fri Jan 18 17:55:53 2013
@@ -66,8 +66,6 @@
   }, {
     "type" : "Plugin",
     "pluginType" : "MANAGEMENT-JMX",
-    "name" : "jmxManagement",
-    "usePlatformMBeanServer" : true,
-    "managementRightsInferAllAccess" : true
+    "name" : "jmxManagement"
   } ]
 }
\ No newline at end of file

Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/virtualhost/VirtualHostImplTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/virtualhost/VirtualHostImplTest.java?rev=1435277&r1=1435276&r2=1435277&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/virtualhost/VirtualHostImplTest.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/virtualhost/VirtualHostImplTest.java Fri Jan 18 17:55:53 2013
@@ -22,7 +22,9 @@ package org.apache.qpid.server.virtualho
 
 import static org.mockito.Mockito.mock;
 
+import org.apache.commons.configuration.Configuration;
 import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration.PropertiesConfiguration;
 
 import org.apache.qpid.server.configuration.VirtualHostConfiguration;
 
@@ -122,6 +124,14 @@ public class VirtualHostImplTest extends
         assertEquals(State.ACTIVE, vhost.getState());
     }
 
+    public void testVirtualHostHavingStoreSetAsTypeBecomesActive() throws Exception
+    {
+        String virtualHostName = getName();
+        VirtualHost host = createVirtualHostUsingStoreType(virtualHostName);
+        assertNotNull(host);
+        assertEquals(State.ACTIVE, host.getState());
+    }
+
     public void testVirtualHostBecomesStoppedOnClose() throws Exception
     {
         File config = writeConfigFile(getName(), getName(), getName() +".direct", false, new String[0]);
@@ -133,6 +143,17 @@ public class VirtualHostImplTest extends
         assertEquals(0, vhost.getHouseKeepingActiveCount());
     }
 
+    public void testVirtualHostHavingStoreSetAsTypeBecomesStoppedOnClose() throws Exception
+    {
+        String virtualHostName = getName();
+        VirtualHost host = createVirtualHostUsingStoreType(virtualHostName);
+        assertNotNull(host);
+        assertEquals(State.ACTIVE, host.getState());
+        host.close();
+        assertEquals(State.STOPPED, host.getState());
+        assertEquals(0, host.getHouseKeepingActiveCount());
+    }
+
     /**
      * Tests that specifying an unknown exchange to bind the queue to results in failure to create the vhost
      */
@@ -265,4 +286,17 @@ public class VirtualHostImplTest extends
 
         return tmpFile;
     }
+
+    private VirtualHost createVirtualHostUsingStoreType(String virtualHostName) throws ConfigurationException, Exception
+    {
+        Broker broker = BrokerTestHelper.createBrokerMock();
+        _virtualHostRegistry = broker.getVirtualHostRegistry();
+
+        Configuration config = new PropertiesConfiguration();
+        config.setProperty("store.type", MemoryMessageStore.TYPE);
+        VirtualHostConfiguration configuration = new  VirtualHostConfiguration(virtualHostName, config, broker);
+        VirtualHost host = new VirtualHostImpl(_virtualHostRegistry, mock(StatisticsGatherer.class), new SecurityManager(null), configuration);
+        _virtualHostRegistry.registerVirtualHost(host);
+        return host;
+    }
 }

Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/systests/src/main/java/org/apache/qpid/systest/management/jmx/ManagementLoggingTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/systests/src/main/java/org/apache/qpid/systest/management/jmx/ManagementLoggingTest.java?rev=1435277&r1=1435276&r2=1435277&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/systests/src/main/java/org/apache/qpid/systest/management/jmx/ManagementLoggingTest.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/systests/src/main/java/org/apache/qpid/systest/management/jmx/ManagementLoggingTest.java Fri Jan 18 17:55:53 2013
@@ -21,6 +21,7 @@
 package org.apache.qpid.systest.management.jmx;
 
 
+import org.apache.qpid.server.configuration.BrokerProperties;
 import org.apache.qpid.server.configuration.ServerConfiguration;
 import org.apache.qpid.server.logging.AbstractTestLogging;
 import org.apache.qpid.test.utils.JMXTestUtils;
@@ -266,7 +267,7 @@ public class ManagementLoggingTest exten
     {
         if (isJavaBroker())
         {
-            setSystemProperty("qpid.use_custom_rmi_socket_factory", "false");
+            setSystemProperty(BrokerProperties.PROPERTY_USE_CUSTOM_RMI_SOCKET_FACTORY, "false");
             startBrokerAndCreateMonitor(true, false);
 
             final JMXTestUtils jmxUtils = new JMXTestUtils(this);

Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java?rev=1435277&r1=1435276&r2=1435277&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java Fri Jan 18 17:55:53 2013
@@ -61,6 +61,7 @@ import org.apache.qpid.server.BrokerLaun
 import org.apache.qpid.server.BrokerOptions;
 import org.apache.qpid.server.ProtocolExclusion;
 import org.apache.qpid.server.ProtocolInclusion;
+import org.apache.qpid.server.configuration.BrokerProperties;
 import org.apache.qpid.server.configuration.ServerConfiguration;
 import org.apache.qpid.server.protocol.AmqpProtocolVersion;
 import org.apache.qpid.server.store.MessageStoreConstants;
@@ -394,7 +395,7 @@ public class QpidBrokerTestCase extends 
 
         if (_brokerType.equals(BrokerType.INTERNAL) && !existingInternalBroker())
         {
-            setSystemProperty("qpid.use_custom_rmi_socket_factory", "false");
+            setSystemProperty(BrokerProperties.PROPERTY_USE_CUSTOM_RMI_SOCKET_FACTORY, "false");
             testConfig = saveTestConfiguration(port, testConfiguration);
             _logger.info("Set test.config property to: " + testConfig);
             _logger.info("Set test.virtualhosts property to: " + virtualHostsConfig);



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org