summaryrefslogtreecommitdiff
path: root/qpid/java
diff options
context:
space:
mode:
authorRobert Godfrey <rgodfrey@apache.org = rgodfrey = Robert Godfrey rgodfrey@apache.org@apache.org>2014-04-13 08:49:34 +0000
committerRobert Godfrey <rgodfrey@apache.org = rgodfrey = Robert Godfrey rgodfrey@apache.org@apache.org>2014-04-13 08:49:34 +0000
commit6fa7bd72f94ed7f71d5b0c58883dcac180ea67e5 (patch)
tree6bc3cb95ee88d2b64c7b7484b67f9528d7b4dc2a /qpid/java
parent3490d98ad80b047819ac5e83e17f8dd2c5ef3b3c (diff)
downloadqpid-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')
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/BrokerOptions.java13
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Broker.java15
-rw-r--r--qpid/java/broker-core/src/main/resources/initial-config.json4
-rw-r--r--qpid/java/broker-core/src/test/java/org/apache/qpid/server/BrokerOptionsTest.java37
-rw-r--r--qpid/java/broker/src/test/java/org/apache/qpid/server/MainTest.java8
-rw-r--r--qpid/java/systests/src/main/java/org/apache/qpid/server/BrokerStartupTest.java41
-rwxr-xr-xqpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java2
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));