diff options
| author | Robert Godfrey <rgodfrey@apache.org = rgodfrey = Robert Godfrey rgodfrey@apache.org@apache.org> | 2014-04-13 08:49:34 +0000 |
|---|---|---|
| committer | Robert Godfrey <rgodfrey@apache.org = rgodfrey = Robert Godfrey rgodfrey@apache.org@apache.org> | 2014-04-13 08:49:34 +0000 |
| commit | 6fa7bd72f94ed7f71d5b0c58883dcac180ea67e5 (patch) | |
| tree | 6bc3cb95ee88d2b64c7b7484b67f9528d7b4dc2a /qpid/java | |
| parent | 3490d98ad80b047819ac5e83e17f8dd2c5ef3b3c (diff) | |
| download | qpid-python-6fa7bd72f94ed7f71d5b0c58883dcac180ea67e5.tar.gz | |
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
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1586938 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java')
7 files changed, 66 insertions, 54 deletions
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/BrokerOptions.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/BrokerOptions.java index 316d9bd88e..36d5b95936 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/BrokerOptions.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/BrokerOptions.java @@ -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(); diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Broker.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Broker.java index 6bb2e1beb3..5700f20356 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Broker.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Broker.java @@ -59,9 +59,24 @@ public interface Broker<X extends Broker<X>> extends ConfiguredObject<X>, EventL 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(); diff --git a/qpid/java/broker-core/src/main/resources/initial-config.json b/qpid/java/broker-core/src/main/resources/initial-config.json index 5cd53fa9cc..600822a033 100644 --- a/qpid/java/broker-core/src/main/resources/initial-config.json +++ b/qpid/java/broker-core/src/main/resources/initial-config.json @@ -61,10 +61,10 @@ } } ], "plugins" : [ { - "pluginType" : "MANAGEMENT-HTTP", + "type" : "MANAGEMENT-HTTP", "name" : "httpManagement" }, { - "pluginType" : "MANAGEMENT-JMX", + "type" : "MANAGEMENT-JMX", "name" : "jmxManagement" } ] } diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/BrokerOptionsTest.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/BrokerOptionsTest.java index d60b852e55..d7301ddc19 100644 --- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/BrokerOptionsTest.java +++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/BrokerOptionsTest.java @@ -227,13 +227,8 @@ public class BrokerOptionsTest extends QpidTestCase 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 QpidTestCase 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 QpidTestCase 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 QpidTestCase 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 QpidTestCase 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")); } } diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/MainTest.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/MainTest.java index f3b1749808..c6d68843b7 100644 --- a/qpid/java/broker/src/test/java/org/apache/qpid/server/MainTest.java +++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/MainTest.java @@ -203,20 +203,20 @@ public class MainTest extends QpidTestCase { //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")); } diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/server/BrokerStartupTest.java b/qpid/java/systests/src/main/java/org/apache/qpid/server/BrokerStartupTest.java index eba2a638c0..e3d0901942 100644 --- a/qpid/java/systests/src/main/java/org/apache/qpid/server/BrokerStartupTest.java +++ b/qpid/java/systests/src/main/java/org/apache/qpid/server/BrokerStartupTest.java @@ -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 AbstractTestLogging //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 diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java b/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java index 8dcf3b9010..c31f2eed3d 100755 --- a/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java +++ b/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java @@ -689,7 +689,7 @@ public class QpidBrokerTestCase extends QpidTestCase { 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)); |
