You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by rg...@apache.org on 2014/04/13 10:49:34 UTC

svn commit: r1586938 - in /qpid/trunk/qpid/java: broker-core/src/main/java/org/apache/qpid/server/ broker-core/src/main/java/org/apache/qpid/server/model/ broker-core/src/main/resources/ broker-core/src/test/java/org/apache/qpid/server/ broker/src/test...

Author: rgodfrey
Date: Sun Apr 13 08:49:34 2014
New Revision: 1586938

URL: http://svn.apache.org/r1586938
Log:
QPID-5687 : [Java Broker] fix the initial config store to use "type" not "pluginType", add a test that checks the broker will startup with no config store.  Change the handling of ${amqp.qpid_port} and friends to allow setting through system properties

Modified:
    qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/BrokerOptions.java
    qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Broker.java
    qpid/trunk/qpid/java/broker-core/src/main/resources/initial-config.json
    qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/BrokerOptionsTest.java
    qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/MainTest.java
    qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/BrokerStartupTest.java
    qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java

Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/BrokerOptions.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/BrokerOptions.java?rev=1586938&r1=1586937&r2=1586938&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/BrokerOptions.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/BrokerOptions.java Sun Apr 13 08:49:34 2014
@@ -48,15 +48,6 @@ public class BrokerOptions
      * set in the "QPID_HOME" system property if that was set, or remains unset if it was not.
      */
     public static final String QPID_HOME_DIR  = "qpid.home_dir";
-    public static final String QPID_AMQP_PORT = "qpid.amqp_port";
-    public static final String QPID_HTTP_PORT = "qpid.http_port";
-    public static final String QPID_RMI_PORT  = "qpid.rmi_port";
-    public static final String QPID_JMX_PORT  = "qpid.jmx_port";
-
-    public static final String DEFAULT_AMQP_PORT_NUMBER = "5672";
-    public static final String DEFAULT_HTTP_PORT_NUMBER = "8080";
-    public static final String DEFAULT_RMI_PORT_NUMBER  = "8999";
-    public static final String DEFAULT_JMX_PORT_NUMBER  = "9099";
 
     public static final String DEFAULT_INITIAL_CONFIG_NAME = "initial-config.json";
     public static final String DEFAULT_STORE_TYPE = "json";
@@ -307,10 +298,6 @@ public class BrokerOptions
         ConcurrentHashMap<String, String> properties = new ConcurrentHashMap<String,String>();
         properties.putAll(_configProperties);
 
-        properties.putIfAbsent(QPID_AMQP_PORT, String.valueOf(DEFAULT_AMQP_PORT_NUMBER));
-        properties.putIfAbsent(QPID_HTTP_PORT, String.valueOf(DEFAULT_HTTP_PORT_NUMBER));
-        properties.putIfAbsent(QPID_RMI_PORT, String.valueOf(DEFAULT_RMI_PORT_NUMBER));
-        properties.putIfAbsent(QPID_JMX_PORT, String.valueOf(DEFAULT_JMX_PORT_NUMBER));
         properties.putIfAbsent(QPID_WORK_DIR, getWorkDir());
 
         String homeDir = getHomeDir();

Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Broker.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Broker.java?rev=1586938&r1=1586937&r2=1586938&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Broker.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Broker.java Sun Apr 13 08:49:34 2014
@@ -59,9 +59,24 @@ public interface Broker<X extends Broker
     String CONNECTION_HEART_BEAT_DELAY = "connection.heartBeatDelay";
     String CONNECTION_CLOSE_WHEN_NO_ROUTE = "connection.closeWhenNoRoute";
 
+
+    String QPID_AMQP_PORT = "qpid.amqp_port";
+    String QPID_HTTP_PORT = "qpid.http_port";
+    String QPID_RMI_PORT  = "qpid.rmi_port";
+    String QPID_JMX_PORT  = "qpid.jmx_port";
+
     @ManagedContextDefault(name = "broker.name")
     static final String DEFAULT_BROKER_NAME = "Broker";
 
+    @ManagedContextDefault(name = QPID_AMQP_PORT)
+    public static final String DEFAULT_AMQP_PORT_NUMBER = "5672";
+    @ManagedContextDefault(name = QPID_HTTP_PORT)
+    public static final String DEFAULT_HTTP_PORT_NUMBER = "8080";
+    @ManagedContextDefault(name = QPID_RMI_PORT)
+    public static final String DEFAULT_RMI_PORT_NUMBER  = "8999";
+    @ManagedContextDefault(name = QPID_JMX_PORT)
+    public static final String DEFAULT_JMX_PORT_NUMBER  = "9099";
+
     @ManagedAttribute( derived = true )
     String getBuildVersion();
 

Modified: qpid/trunk/qpid/java/broker-core/src/main/resources/initial-config.json
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/resources/initial-config.json?rev=1586938&r1=1586937&r2=1586938&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/resources/initial-config.json (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/resources/initial-config.json Sun Apr 13 08:49:34 2014
@@ -61,10 +61,10 @@
     }
   } ],
   "plugins" : [ {
-    "pluginType" : "MANAGEMENT-HTTP",
+    "type" : "MANAGEMENT-HTTP",
     "name" : "httpManagement"
   }, {
-    "pluginType" : "MANAGEMENT-JMX",
+    "type" : "MANAGEMENT-JMX",
     "name" : "jmxManagement"
   } ]
 }

Modified: qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/BrokerOptionsTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/BrokerOptionsTest.java?rev=1586938&r1=1586937&r2=1586938&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/BrokerOptionsTest.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/BrokerOptionsTest.java Sun Apr 13 08:49:34 2014
@@ -227,13 +227,8 @@ public class BrokerOptionsTest extends Q
 
         Map<String,String> props = _options.getConfigProperties();
 
-        assertEquals("unexpected number of entries", 5, props.keySet().size());
+        assertEquals("unexpected number of entries", 1, props.keySet().size());
 
-        assertEquals(BrokerOptions.DEFAULT_AMQP_PORT_NUMBER, props.get(BrokerOptions.QPID_AMQP_PORT));
-        assertEquals(BrokerOptions.DEFAULT_HTTP_PORT_NUMBER, props.get(BrokerOptions.QPID_HTTP_PORT));
-        assertEquals(BrokerOptions.DEFAULT_RMI_PORT_NUMBER, props.get(BrokerOptions.QPID_RMI_PORT));
-        assertEquals(BrokerOptions.DEFAULT_JMX_PORT_NUMBER, props.get(BrokerOptions.QPID_JMX_PORT));
-        assertEquals(BrokerOptions.DEFAULT_JMX_PORT_NUMBER, props.get(BrokerOptions.QPID_JMX_PORT));
         assertTrue(props.containsKey(BrokerOptions.QPID_WORK_DIR));
         assertFalse(props.containsKey(BrokerOptions.QPID_HOME_DIR));
     }
@@ -268,7 +263,7 @@ public class BrokerOptionsTest extends Q
         setTestSystemProperty("QPID_HOME", qpidHome);
 
         assertEquals (qpidHome, _options.getConfigProperties().get(BrokerOptions.QPID_HOME_DIR));
-        assertEquals("unexpected number of entries", 6, _options.getConfigProperties().keySet().size());
+        assertEquals("unexpected number of entries", 2, _options.getConfigProperties().keySet().size());
     }
 
     public void testDefaultHomeDirWithoutQpidHome()
@@ -277,7 +272,7 @@ public class BrokerOptionsTest extends Q
 
         assertNull(_options.getConfigProperties().get(BrokerOptions.QPID_HOME_DIR));
         assertFalse(_options.getConfigProperties().containsKey(BrokerOptions.QPID_HOME_DIR));
-        assertEquals("unexpected number of entries", 5, _options.getConfigProperties().keySet().size());
+        assertEquals("unexpected number of entries", 1, _options.getConfigProperties().keySet().size());
     }
 
     public void testOverriddenHomeDir()
@@ -285,7 +280,7 @@ public class BrokerOptionsTest extends Q
         final String testHomeDir = "/my/test/home/dir";
         _options.setConfigProperty(BrokerOptions.QPID_HOME_DIR, testHomeDir);
         assertEquals(testHomeDir, _options.getConfigProperties().get(BrokerOptions.QPID_HOME_DIR));
-        assertEquals("unexpected number of entries", 6, _options.getConfigProperties().keySet().size());
+        assertEquals("unexpected number of entries", 2, _options.getConfigProperties().keySet().size());
     }
 
     public void testSetDefaultConfigProperties()
@@ -295,35 +290,23 @@ public class BrokerOptionsTest extends Q
         setTestSystemProperty("QPID_WORK", null);
         setTestSystemProperty("QPID_HOME", null);
 
-        String oldPort = BrokerOptions.DEFAULT_AMQP_PORT_NUMBER;
         String newPort = "12345";
 
         //set a new value for a previously defaulted port number property
-        _options.setConfigProperty(BrokerOptions.QPID_AMQP_PORT, newPort);
+        _options.setConfigProperty(org.apache.qpid.server.model.Broker.QPID_AMQP_PORT, newPort);
         Map<String,String> props = _options.getConfigProperties();
-        assertEquals("unexpected number of entries", 5, props.keySet().size());
-        assertEquals(newPort, props.get(BrokerOptions.QPID_AMQP_PORT));
-        assertEquals(BrokerOptions.DEFAULT_HTTP_PORT_NUMBER, props.get(BrokerOptions.QPID_HTTP_PORT));
-        assertEquals(BrokerOptions.DEFAULT_RMI_PORT_NUMBER, props.get(BrokerOptions.QPID_RMI_PORT));
-        assertEquals(BrokerOptions.DEFAULT_JMX_PORT_NUMBER, props.get(BrokerOptions.QPID_JMX_PORT));
+        assertEquals("unexpected number of entries", 2, props.keySet().size());
+        assertEquals(newPort, props.get(org.apache.qpid.server.model.Broker.QPID_AMQP_PORT));
 
         //clear the value to ensure the default returns
-        _options.setConfigProperty(BrokerOptions.QPID_AMQP_PORT, null);
+        _options.setConfigProperty(org.apache.qpid.server.model.Broker.QPID_AMQP_PORT, null);
         props = _options.getConfigProperties();
-        assertEquals("unexpected number of entries", 5, props.keySet().size());
-        assertEquals(oldPort, props.get(BrokerOptions.QPID_AMQP_PORT));
-        assertEquals(BrokerOptions.DEFAULT_HTTP_PORT_NUMBER, props.get(BrokerOptions.QPID_HTTP_PORT));
-        assertEquals(BrokerOptions.DEFAULT_RMI_PORT_NUMBER, props.get(BrokerOptions.QPID_RMI_PORT));
-        assertEquals(BrokerOptions.DEFAULT_JMX_PORT_NUMBER, props.get(BrokerOptions.QPID_JMX_PORT));
+        assertEquals("unexpected number of entries", 1, props.keySet().size());
 
         //set a user specified property
         _options.setConfigProperty("name", "value");
         props = _options.getConfigProperties();
-        assertEquals("unexpected number of entries", 6, props.keySet().size());
-        assertEquals(oldPort, props.get(BrokerOptions.QPID_AMQP_PORT));
-        assertEquals(BrokerOptions.DEFAULT_HTTP_PORT_NUMBER, props.get(BrokerOptions.QPID_HTTP_PORT));
-        assertEquals(BrokerOptions.DEFAULT_RMI_PORT_NUMBER, props.get(BrokerOptions.QPID_RMI_PORT));
-        assertEquals(BrokerOptions.DEFAULT_JMX_PORT_NUMBER, props.get(BrokerOptions.QPID_JMX_PORT));
+        assertEquals("unexpected number of entries", 2, props.keySet().size());
         assertEquals("value", props.get("name"));
     }
 }

Modified: qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/MainTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/MainTest.java?rev=1586938&r1=1586937&r2=1586938&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/MainTest.java (original)
+++ qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/MainTest.java Sun Apr 13 08:49:34 2014
@@ -203,20 +203,20 @@ public class MainTest extends QpidTestCa
     {
         //short name
         String newPort = "12345";
-        BrokerOptions options = startDummyMain("-prop name=value -prop " + BrokerOptions.QPID_AMQP_PORT + "=" + newPort);
+        BrokerOptions options = startDummyMain("-prop name=value -prop " + org.apache.qpid.server.model.Broker.QPID_AMQP_PORT + "=" + newPort);
 
         Map<String, String> props = options.getConfigProperties();
 
-        assertEquals(newPort, props.get(BrokerOptions.QPID_AMQP_PORT));
+        assertEquals(newPort, props.get(org.apache.qpid.server.model.Broker.QPID_AMQP_PORT));
         assertEquals("value", props.get("name"));
 
         //long name
         newPort = "678910";
-        options = startDummyMain("--config-property name2=value2 --config-property " + BrokerOptions.QPID_AMQP_PORT + "=" + newPort);
+        options = startDummyMain("--config-property name2=value2 --config-property " + org.apache.qpid.server.model.Broker.QPID_AMQP_PORT + "=" + newPort);
 
         props = options.getConfigProperties();
 
-        assertEquals(newPort, props.get(BrokerOptions.QPID_AMQP_PORT));
+        assertEquals(newPort, props.get(org.apache.qpid.server.model.Broker.QPID_AMQP_PORT));
         assertEquals("value2", props.get("name2"));
     }
 

Modified: qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/BrokerStartupTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/BrokerStartupTest.java?rev=1586938&r1=1586937&r2=1586938&view=diff
==============================================================================
--- qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/BrokerStartupTest.java (original)
+++ qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/BrokerStartupTest.java Sun Apr 13 08:49:34 2014
@@ -20,6 +20,13 @@
  */
 package org.apache.qpid.server;
 
+import java.io.File;
+import java.util.List;
+
+import javax.jms.Connection;
+import javax.jms.Queue;
+import javax.jms.Session;
+
 import junit.framework.AssertionFailedError;
 import org.apache.log4j.Level;
 import org.apache.log4j.Logger;
@@ -27,12 +34,6 @@ import org.apache.log4j.Logger;
 import org.apache.qpid.server.logging.AbstractTestLogging;
 import org.apache.qpid.util.LogMonitor;
 
-import javax.jms.Connection;
-import javax.jms.Queue;
-import javax.jms.Session;
-import java.io.File;
-import java.util.List;
-
 /**
  * Series of tests to validate the external Java broker starts up as expected.
  */
@@ -47,7 +48,33 @@ public class BrokerStartupTest extends A
         //part of the test case.
     }
 
-
+    /**
+     * This test simply tests that the broker will startup even if there is no config file (i.e. that it can use the
+     * currently packaged initial config file (all system tests by default generate their own config file).
+     *
+     * It makes the assumption that setting the system property qpid.amqp_port
+     * to the value of getPort(0) will allow a connection to be established with getConnection()
+     *
+     * @throws Exception
+     */
+    public void testStartupWithNoConfig() throws Exception
+    {
+        if (isJavaBroker())
+        {
+            int port = getPort(0);
+            int managementPort = getManagementPort(port);
+            int connectorServerPort = managementPort + JMXPORT_CONNECTORSERVER_OFFSET;
+
+            setTestSystemProperty("qpid.amqp_port",String.valueOf(port));
+            setTestSystemProperty("qpid.jmx_port",String.valueOf(managementPort));
+            setTestSystemProperty("qpid.rmi_port",String.valueOf(connectorServerPort));
+            startBroker(port, null);
+
+            Connection conn = getConnection();
+            assertNotNull(conn);
+            conn.close();
+        }
+    }
     /**
      * Description:
      * Test that providing an invalid broker logging configuration file does not

Modified: qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java?rev=1586938&r1=1586937&r2=1586938&view=diff
==============================================================================
--- qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java (original)
+++ qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java Sun Apr 13 08:49:34 2014
@@ -689,7 +689,7 @@ public class QpidBrokerTestCase extends 
     {
         String testConfig = getTestConfigFile(port);
         String relative = getPathRelativeToWorkingDirectory(testConfig);
-        if (!testConfiguration.isSaved())
+        if (testConfiguration != null && !testConfiguration.isSaved())
         {
             _logger.info("Saving test broker configuration at: " + testConfig);
             testConfiguration.save(new File(testConfig));



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