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/07 18:45:33 UTC
svn commit: r1429919 - in
/qpid/branches/java-broker-config-qpid-4390/qpid/java:
broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/
broker/src/main/java/org/apache/qpid/server/
broker/src/main/java/org/apache/qpid/server/configurat...
Author: orudyy
Date: Mon Jan 7 17:45:33 2013
New Revision: 1429919
URL: http://svn.apache.org/viewvc?rev=1429919&view=rev
Log:
QPID-4390: Improve command line option names for store location and store type, improve command line options handling
Modified:
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/src/main/java/org/apache/qpid/server/BrokerLauncher.java
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/BrokerOptions.java
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/Main.java
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ConfigurationEntry.java
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ConfigurationEntryStoreFactory.java
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/store/CommandLineOptionsHandler.java
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/ConfigurationEntryStoreFactoryTest.java
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/VirtualHostConfigurationTest.java
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/store/CommandLineOptionsHandlerTest.java
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/store/MergingStoreTest.java
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/model/configuration/ConfigurationEntryTest.java
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/util/BrokerTestHelper.java
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=1429919&r1=1429918&r2=1429919&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 Mon Jan 7 17:45:33 2013
@@ -34,8 +34,12 @@ 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";
Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/BrokerLauncher.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/BrokerLauncher.java?rev=1429919&r1=1429918&r2=1429919&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/BrokerLauncher.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/BrokerLauncher.java Mon Jan 7 17:45:33 2013
@@ -108,10 +108,10 @@ public class BrokerLauncher
private void startupImpl(final BrokerOptions options) throws Exception
{
final String qpidHome = options.getQpidHome();
- String storeLocation = options.getConfigurationStore();
+ String storeLocation = options.getConfigurationStoreLocation();
String storeType = options.getConfigurationStoreType();
- // Temporarily support for old configuration file option
+ //TODO: remove code below. A temporarily support for old configuration file option
if (storeLocation == null && storeType == null && options.getConfigFile() != null)
{
storeLocation = options.getConfigFile();
Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/BrokerOptions.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/BrokerOptions.java?rev=1429919&r1=1429918&r2=1429919&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/BrokerOptions.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/BrokerOptions.java Mon Jan 7 17:45:33 2013
@@ -32,6 +32,7 @@ public class BrokerOptions
public static final String DEFAULT_LOG_CONFIG_FILE = "etc/log4j.xml";
public static final String QPID_HOME = "QPID_HOME";
public static final String QPID_WORK = "QPID_WORK";
+ public static final int JMXPORT_CONNECTORSERVER_OFFSET = 100;
private final Set<Integer> _ports = new HashSet<Integer>();
private final Set<Integer> _sslPorts = new HashSet<Integer>();
@@ -48,9 +49,9 @@ public class BrokerOptions
private String _qpidWorkFolder;
private String _qpidHomeFolder;
- private String _configurationStore;
+ private String _configurationStoreLocation;
private String _configurationStoreType;
- private boolean _noDefault;
+ private boolean _noDefaultConfiguration;
public void addPort(final int port)
{
@@ -191,14 +192,14 @@ public class BrokerOptions
_qpidHomeFolder = qpidHomeFolder;
}
- public String getConfigurationStore()
+ public String getConfigurationStoreLocation()
{
- return _configurationStore;
+ return _configurationStoreLocation;
}
- public void setConfigurationStore(String cofigurationStore)
+ public void setConfigurationStoreLocation(String cofigurationStore)
{
- _configurationStore = cofigurationStore;
+ _configurationStoreLocation = cofigurationStore;
}
public String getConfigurationStoreType()
@@ -211,14 +212,14 @@ public class BrokerOptions
_configurationStoreType = cofigurationStoreType;
}
- public boolean isNoDefault()
+ public boolean isNoDefaultConfiguration()
{
- return _noDefault;
+ return _noDefaultConfiguration;
}
- public void setNoDefault(boolean noDefault)
+ public void setNoDefaultConfiguration(boolean noDefault)
{
- _noDefault = noDefault;
+ _noDefaultConfiguration = noDefault;
}
}
\ No newline at end of file
Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/Main.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/Main.java?rev=1429919&r1=1429918&r2=1429919&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/Main.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/Main.java Mon Jan 7 17:45:33 2013
@@ -43,11 +43,11 @@ public class Main
private static final Option OPTION_VERSION = new Option("v", "version", false, "print the version information and exit");
- private static final Option OPTION_CONFIGURATION_STORE = OptionBuilder.withArgName("location").hasArg()
- .withDescription("use given configuration store location").withLongOpt("config-store").create("cs");
+ private static final Option OPTION_CONFIGURATION_STORE_PATH = OptionBuilder.withArgName("path").hasArg()
+ .withDescription("use given configuration store location").withLongOpt("store-path").create("sp");
private static final Option OPTION_CONFIGURATION_STORE_TYPE = OptionBuilder.withArgName("type").hasArg()
- .withDescription("use given store type (json|derby), json by default").withLongOpt("config-store-type").create("cst");
+ .withDescription("use given store type").withLongOpt("store-type").create("st");
private static final Option OPTION_CONFIGURATION_STORE_NO_DEFAULTS = OptionBuilder.withType(Boolean.class)
.withDescription("disables default configuration if set to true").withLongOpt("no-defaults").create("nd");
@@ -151,7 +151,7 @@ private static final Option OPTION_INCLU
{
OPTIONS.addOption(OPTION_HELP);
OPTIONS.addOption(OPTION_VERSION);
- OPTIONS.addOption(OPTION_CONFIGURATION_STORE);
+ OPTIONS.addOption(OPTION_CONFIGURATION_STORE_PATH);
OPTIONS.addOption(OPTION_CONFIGURATION_STORE_TYPE);
OPTIONS.addOption(OPTION_CONFIGURATION_STORE_NO_DEFAULTS);
OPTIONS.addOption(OPTION_CONFIG_FILE);
@@ -254,10 +254,10 @@ private static final Option OPTION_INCLU
else
{
BrokerOptions options = new BrokerOptions();
- String configurationStore = _commandLine.getOptionValue(OPTION_CONFIGURATION_STORE.getOpt());
+ String configurationStore = _commandLine.getOptionValue(OPTION_CONFIGURATION_STORE_PATH.getOpt());
if (configurationStore != null)
{
- options.setConfigurationStore(configurationStore);
+ options.setConfigurationStoreLocation(configurationStore);
}
String configurationStoreType = _commandLine.getOptionValue(OPTION_CONFIGURATION_STORE_TYPE.getOpt());
if (configurationStoreType != null)
Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ConfigurationEntry.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/ConfigurationEntry.java?rev=1429919&r1=1429918&r2=1429919&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ConfigurationEntry.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ConfigurationEntry.java Mon Jan 7 17:45:33 2013
@@ -130,6 +130,7 @@ public class ConfigurationEntry
{
return false;
}
+
ConfigurationEntry other = (ConfigurationEntry) obj;
if (_id == null)
{
@@ -142,6 +143,7 @@ public class ConfigurationEntry
{
return false;
}
+
if (_type == null)
{
if (other._type != null)
@@ -153,6 +155,7 @@ public class ConfigurationEntry
{
return false;
}
+
if (_store == null)
{
if (other._store != null)
@@ -164,6 +167,7 @@ public class ConfigurationEntry
{
return false;
}
+
if (_childrenIds == null)
{
if (other._childrenIds != null)
@@ -175,6 +179,7 @@ public class ConfigurationEntry
{
return false;
}
+
if (_attributes == null)
{
if (other._attributes != null)
Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ConfigurationEntryStoreFactory.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/ConfigurationEntryStoreFactory.java?rev=1429919&r1=1429918&r2=1429919&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ConfigurationEntryStoreFactory.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ConfigurationEntryStoreFactory.java Mon Jan 7 17:45:33 2013
@@ -35,7 +35,7 @@ public class ConfigurationEntryStoreFact
/**
* Path to resource containing broker default configuration
*/
- public static final String DEFAULT_STORE = "default.json";
+ public static final String DEFAULTS = "default.json";
/**
* Create broker configuration store for given store location, store type
@@ -60,14 +60,13 @@ public class ConfigurationEntryStoreFact
throw new IllegalConfigurationException("Unexpected error", e);
}
case DERBY:
- case BDB:
default:
throw new IllegalConfigurationException("Unsupported store type " + type);
}
- if (!options.isNoDefault())
+ if (!options.isNoDefaultConfiguration())
{
- URL defaultStoreLocation = ConfigurationEntryStoreFactory.class.getClassLoader().getResource(DEFAULT_STORE);
+ URL defaultStoreLocation = ConfigurationEntryStoreFactory.class.getClassLoader().getResource(DEFAULTS);
store = new MergingStore(store, new JsonConfigurationEntryStore(defaultStoreLocation));
}
@@ -76,7 +75,7 @@ public class ConfigurationEntryStoreFact
public static enum ConfigurationEntryStoreType
{
- JSON, XML, DERBY, BDB;
+ JSON, XML, DERBY;
public static ConfigurationEntryStoreType getType(String storeType, String storeLocation)
{
Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/store/CommandLineOptionsHandler.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/store/CommandLineOptionsHandler.java?rev=1429919&r1=1429918&r2=1429919&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/store/CommandLineOptionsHandler.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/store/CommandLineOptionsHandler.java Mon Jan 7 17:45:33 2013
@@ -119,6 +119,10 @@ public class CommandLineOptionsHandler i
if (jmxRegistryPort != null)
{
actions.add(new AddJmxPortAction(jmxRegistryPort, Protocol.RMI, this));
+ if (jmxConnectorPort == null)
+ {
+ actions.add(new AddJmxPortAction(jmxRegistryPort + BrokerOptions.JMXPORT_CONNECTORSERVER_OFFSET, Protocol.JMX_RMI, this));
+ }
}
Set<Integer> exclude_1_0 = options.getExcludedPorts(ProtocolExclusion.v1_0);
@@ -242,9 +246,10 @@ public class CommandLineOptionsHandler i
{
storeEntries.add(entry);
}
- if (override != null)
+ else
{
- if (override.getStore() == _store)
+ //TODO: wrong for cases when entry is not modified by command line actions
+ if (override.getStore() != this)
{
throw new IllegalConfigurationException("Cannot store entry which was overridden by command line options: " + entry);
}
@@ -283,11 +288,11 @@ public class CommandLineOptionsHandler i
throw new IllegalConfigurationException("Cannot remove root entry");
}
ConfigurationEntry override = _cliEntries.get(entryId);
- if (override == null || override.getStore() == _store)
+ if (override == null || override.getStore() != this)
{
storeEntries.add(entryId);
}
- if (override != null)
+ else
{
nonStoreEntries.add(entryId);
}
@@ -318,27 +323,15 @@ public class CommandLineOptionsHandler i
public static int getPortAttribute(Map<String, Object> attributes)
{
Object portAttribute = attributes.get(Port.PORT);
- if (portAttribute == null || "".equals(portAttribute))
+ if (portAttribute == null)
{
throw new IllegalConfigurationException("Port attribute is not set for port entry " + attributes);
}
- int port = 0;
- if (portAttribute instanceof String)
+ if (!(portAttribute instanceof Number))
{
- try
- {
- port = Integer.parseInt((String) portAttribute);
- }
- catch (Exception e)
- {
- throw new IllegalConfigurationException("Port attribute is not an integer: " + portAttribute);
- }
+ throw new IllegalConfigurationException("Not numeric port value " + portAttribute);
}
- else if (portAttribute instanceof Number)
- {
- port = ((Number) portAttribute).intValue();
- }
- return port;
+ return((Number) portAttribute).intValue();
}
public static Set<Protocol> getProtocolsAttribute(Map<String, Object> attributes)
@@ -500,14 +493,9 @@ public class CommandLineOptionsHandler i
@Override
public Collection<ConfigurationEntry> apply(Collection<ConfigurationEntry> entries)
{
- ConfigurationEntry entry = findPortEntryWithTheSamePort(entries, _port);
String portName = getPortName(_port);
UUID id = UUIDGenerator.generateBrokerChildUUID(PORT_TYPE_NAME, portName);
Map<String, Object> attributes = new HashMap<String, Object>();
- if (entry != null)
- {
- attributes.putAll(entry.getAttributes());
- }
attributes.put(Port.NAME, portName);
attributes.put(Port.TRANSPORTS, Collections.singleton(_transport));
attributes.put(Port.PROTOCOLS, _protocols);
@@ -545,24 +533,6 @@ public class CommandLineOptionsHandler i
return newEntries;
}
- private ConfigurationEntry findPortEntryWithTheSamePort(Collection<ConfigurationEntry> entries, int port)
- {
- ConfigurationEntry entry = null;
- for (ConfigurationEntry configurationEntry : entries)
- {
- if (PORT_TYPE_NAME.equals(configurationEntry.getType()))
- {
- int entryPort = ConfigurationEntryHelper.getPortAttribute(configurationEntry.getAttributes());
- if (port == entryPort)
- {
- entry = configurationEntry;
- break;
- }
- }
- }
- return entry;
- }
-
private String getPortName(Integer amqpPort)
{
return "cliAmqpPort" + amqpPort;
Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/ConfigurationEntryStoreFactoryTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/ConfigurationEntryStoreFactoryTest.java?rev=1429919&r1=1429918&r2=1429919&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/ConfigurationEntryStoreFactoryTest.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/ConfigurationEntryStoreFactoryTest.java Mon Jan 7 17:45:33 2013
@@ -31,16 +31,22 @@ import org.apache.qpid.util.FileUtils;
public class ConfigurationEntryStoreFactoryTest extends QpidTestCase
{
- private File _userStoreFile;
+ private File _userStoreLocation;
private ConfigurationEntryStoreFactory _factory;
private BrokerOptions _options;
public void setUp() throws Exception
{
super.setUp();
- setTestSystemProperty("QPID_HOME", TMP_FOLDER);
+
+ // check whether QPID_HOME JVM system property is set
+ if (QPID_HOME == null)
+ {
+ // set the properties in order to resolve the defaults store settings
+ setTestSystemProperty("QPID_HOME", TMP_FOLDER);
+ }
_factory = new ConfigurationEntryStoreFactory();
- _userStoreFile = new File(TMP_FOLDER, "_store_" + System.currentTimeMillis() + "_" + getTestName());
+ _userStoreLocation = new File(TMP_FOLDER, "_store_" + System.currentTimeMillis() + "_" + getTestName());
_options = new BrokerOptions();
}
@@ -52,54 +58,41 @@ public class ConfigurationEntryStoreFact
}
finally
{
- if (_userStoreFile != null)
+ if (_userStoreLocation != null)
{
- FileUtils.delete(_userStoreFile, true);
+ FileUtils.delete(_userStoreLocation, true);
}
}
}
+
public void testCreateJsonStoreWithDefaults()
{
- _options.setNoDefault(false);
- ConfigurationEntryStore store = _factory.createStore(_userStoreFile.getAbsolutePath(), "json", _options);
+ ConfigurationEntryStore store = _factory.createStore(_userStoreLocation.getAbsolutePath(), "json", _options);
assertNotNull("Store was not created", store);
- assertTrue("File should exist", _userStoreFile.exists());
- assertTrue("File should exist", _userStoreFile.length() > 0);
- JsonConfigurationEntryStore jsonStore = new JsonConfigurationEntryStore(_userStoreFile);
+ assertTrue("File should exists", _userStoreLocation.exists());
+ assertTrue("File size should be greater than 0", _userStoreLocation.length() > 0);
+ JsonConfigurationEntryStore jsonStore = new JsonConfigurationEntryStore(_userStoreLocation);
assertFalse("Unexpected children", jsonStore.getRootEntry().getChildrenIds().isEmpty());
}
public void testCreateJsonStoreWithNoDefaults()
{
- _options.setNoDefault(true);
- ConfigurationEntryStore store = _factory.createStore(_userStoreFile.getAbsolutePath(), "json", _options);
+ _options.setNoDefaultConfiguration(true);
+ ConfigurationEntryStore store = _factory.createStore(_userStoreLocation.getAbsolutePath(), "json", _options);
assertNotNull("Store was not created", store);
- assertTrue("File should exist", _userStoreFile.exists());
- assertTrue("File should exist", _userStoreFile.length() > 0);
- JsonConfigurationEntryStore jsonStore = new JsonConfigurationEntryStore(_userStoreFile);
+ assertTrue("File should exists", _userStoreLocation.exists());
+ assertTrue("File size should be greater than 0", _userStoreLocation.length() > 0);
+ JsonConfigurationEntryStore jsonStore = new JsonConfigurationEntryStore(_userStoreLocation);
assertTrue("Unexpected children", jsonStore.getRootEntry().getChildrenIds().isEmpty());
}
public void testCreateDerbyStoreWithNoDefaults()
{
- _options.setNoDefault(true);
- try
- {
- _factory.createStore(_userStoreFile.getAbsolutePath(), "derby", _options);
- fail("Store is not yet supported");
- }
- catch(IllegalConfigurationException e)
- {
- // pass
- }
- }
-
- public void testCreateBDBDerbyStoreWithNoDefaults()
- {
- _options.setNoDefault(true);
+ //TODO: Implement DERBY store
+ _options.setNoDefaultConfiguration(true);
try
{
- _factory.createStore(_userStoreFile.getAbsolutePath(), "bdb", _options);
+ _factory.createStore(_userStoreLocation.getAbsolutePath(), "derby", _options);
fail("Store is not yet supported");
}
catch(IllegalConfigurationException e)
@@ -110,10 +103,11 @@ public class ConfigurationEntryStoreFact
public void testCreateXmlStoreWithNoDefaults() throws Exception
{
- _options.setNoDefault(true);
+ //TODO: Remove XML store
+ _options.setNoDefaultConfiguration(true);
XMLConfiguration config = new XMLConfiguration();
- config.save(_userStoreFile);
- ConfigurationEntryStore store = _factory.createStore(_userStoreFile.getAbsolutePath(), "xml", _options);
+ config.save(_userStoreLocation);
+ ConfigurationEntryStore store = _factory.createStore(_userStoreLocation.getAbsolutePath(), "xml", _options);
assertNotNull("Store was not created", store);
assertTrue("Unexpected store type", store instanceof XMLConfigurationEntryStore);
}
Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/VirtualHostConfigurationTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/VirtualHostConfigurationTest.java?rev=1429919&r1=1429918&r2=1429919&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/VirtualHostConfigurationTest.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/VirtualHostConfigurationTest.java Mon Jan 7 17:45:33 2013
@@ -251,22 +251,6 @@ public class VirtualHostConfigurationTes
}
/**
- * Test default house keeping tasks
- *
- * @throws Exception
- */
- public void testDefaultHouseKeepingTasks() throws Exception
- {
- VirtualHost vhost = createVirtualHost(getName());
-
- assertEquals("Default houseKeeping task count incorrect.", 1,
- vhost.getHouseKeepingTaskCount());
-
- // Currently the task is:
- // ExpiredMessageTask from VirtualHostC
- }
-
- /**
* Test that we can dynamically change the thread pool size
*
* @throws Exception
Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/store/CommandLineOptionsHandlerTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/store/CommandLineOptionsHandlerTest.java?rev=1429919&r1=1429918&r2=1429919&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/store/CommandLineOptionsHandlerTest.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/store/CommandLineOptionsHandlerTest.java Mon Jan 7 17:45:33 2013
@@ -68,7 +68,7 @@ public class CommandLineOptionsHandlerTe
HashMap<String, Object> amqpPortAttributes = new HashMap<String, Object>();
amqpPortAttributes.put(Port.NAME, "myAmqpPort");
- amqpPortAttributes.put(Port.PORT, "1");
+ amqpPortAttributes.put(Port.PORT, 1);
amqpPortAttributes.put(Port.TRANSPORTS, new HashSet<String>(Arrays.asList(Transport.TCP.name())));
_amqpPortProtocols = new HashSet<String>(Arrays.asList(Protocol.AMQP_1_0.name(), Protocol.AMQP_0_10.name(),
Protocol.AMQP_0_9_1.name()));
@@ -80,7 +80,7 @@ public class CommandLineOptionsHandlerTe
HashMap<String, Object> amqpSslPortAttributes = new HashMap<String, Object>();
amqpSslPortAttributes.put(Port.NAME, "myAmqpSslPort");
- amqpSslPortAttributes.put(Port.PORT, "2");
+ amqpSslPortAttributes.put(Port.PORT, 2);
amqpSslPortAttributes.put(Port.TRANSPORTS, new HashSet<String>(Arrays.asList(Transport.SSL.name())));
HashSet<String> amqpSsslPortProtocols = new HashSet<String>(Arrays.asList(Protocol.AMQP_0_8.name(),
Protocol.AMQP_0_9.name(), Protocol.AMQP_0_9_1.name()));
@@ -93,7 +93,7 @@ public class CommandLineOptionsHandlerTe
HashMap<String, Object> registryPortAttributes = new HashMap<String, Object>();
registryPortAttributes.put(Port.NAME, "myRegistryPort");
- registryPortAttributes.put(Port.PORT, "3");
+ registryPortAttributes.put(Port.PORT, 3);
registryPortAttributes.put(Port.TRANSPORTS, new HashSet<String>(Arrays.asList(Transport.TCP.name())));
registryPortAttributes.put(Port.PROTOCOLS, new HashSet<String>(Arrays.asList(Protocol.RMI.name())));
ConfigurationEntry registryPort = new ConfigurationEntry(_registryPortId, Port.class.getSimpleName(),
@@ -102,7 +102,7 @@ public class CommandLineOptionsHandlerTe
HashMap<String, Object> connectorPortAttributes = new HashMap<String, Object>();
connectorPortAttributes.put(Port.NAME, "myConnectorPort");
- connectorPortAttributes.put(Port.PORT, "4");
+ connectorPortAttributes.put(Port.PORT, 4);
connectorPortAttributes.put(Port.TRANSPORTS, new HashSet<String>(Arrays.asList(Transport.TCP.name())));
connectorPortAttributes.put(Port.PROTOCOLS, new HashSet<String>(Arrays.asList(Protocol.JMX_RMI.name())));
connectorPortAttributes.put("KEY_STORE", "myKeyStore");
@@ -138,7 +138,7 @@ public class CommandLineOptionsHandlerTe
ConfigurationEntry originalPortEntry = _originalStoreEntries.get(_amqpPortId);
Map<String, Object> amqpPortAttributes = amqpPort.getAttributes();
Map<String, Object> originalAmqpPortAttributes = originalPortEntry.getAttributes();
- assertEquals("Unexpected amqp port", "1", amqpPortAttributes.get(Port.PORT));
+ assertEquals("Unexpected amqp port", 1, amqpPortAttributes.get(Port.PORT));
assertEquals("Unexpected amqp port binding address", "127.0.0.1", amqpPortAttributes.get(Port.BINDING_ADDRESS));
assertEquals("Unexpected amqp port transports", originalAmqpPortAttributes.get(Port.NAME),
amqpPortAttributes.get(Port.NAME));
@@ -155,7 +155,7 @@ public class CommandLineOptionsHandlerTe
ConfigurationEntry originalSslPortEntry = _originalStoreEntries.get(_amqpSslPortId);
Map<String, Object> amqpSslPortAttributes = amqpSslPort.getAttributes();
Map<String, Object> originalSslPortAttributes = originalSslPortEntry.getAttributes();
- assertEquals("Unexpected amqp port", "2", amqpSslPortAttributes.get(Port.PORT));
+ assertEquals("Unexpected amqp port", 2, amqpSslPortAttributes.get(Port.PORT));
assertEquals("Unexpected amqp port binding address", "127.0.0.1", amqpSslPortAttributes.get(Port.BINDING_ADDRESS));
assertEquals("Unexpected amqp port name", originalSslPortAttributes.get(Port.NAME), amqpSslPortAttributes.get(Port.NAME));
assertEquals("Unexpected amqp port transports", originalSslPortAttributes.get(Port.TRANSPORTS),
@@ -202,7 +202,7 @@ public class CommandLineOptionsHandlerTe
ConfigurationEntry originalPortEntry = _originalStoreEntries.get(_amqpPortId);
Map<String, Object> amqpPortAttributes = amqpPort.getAttributes();
Map<String, Object> originalAmqpPortAttributes = originalPortEntry.getAttributes();
- assertEquals("Unexpected amqp port", "1", amqpPortAttributes.get(Port.PORT));
+ assertEquals("Unexpected amqp port", 1, amqpPortAttributes.get(Port.PORT));
assertEquals("Unexpected amqp port binding address", null, amqpPortAttributes.get(Port.BINDING_ADDRESS));
assertEquals("Unexpected amqp port transports", originalAmqpPortAttributes.get(Port.NAME),
amqpPortAttributes.get(Port.NAME));
@@ -247,7 +247,7 @@ public class CommandLineOptionsHandlerTe
ConfigurationEntry originalPortEntry = _originalStoreEntries.get(_amqpPortId);
Map<String, Object> amqpPortAttributes = amqpPort.getAttributes();
Map<String, Object> originalAmqpPortAttributes = originalPortEntry.getAttributes();
- assertEquals("Unexpected amqp port", "1", amqpPortAttributes.get(Port.PORT));
+ assertEquals("Unexpected amqp port", 1, amqpPortAttributes.get(Port.PORT));
assertEquals("Unexpected amqp port binding address", null, amqpPortAttributes.get(Port.BINDING_ADDRESS));
assertEquals("Unexpected amqp port transports", originalAmqpPortAttributes.get(Port.NAME),
amqpPortAttributes.get(Port.NAME));
@@ -314,14 +314,76 @@ public class CommandLineOptionsHandlerTe
ConfigurationEntry registryPort = registryPorts.iterator().next();
assertNotNull("CLI connector port is not found", registryPort);
Map<String, Object> registryPortAttributes = registryPort.getAttributes();
- assertEquals("Unexpected connector port value", 30, registryPortAttributes.get(Port.PORT));
- assertEquals("Unexpected connector port name", "cliJmxPort30", registryPortAttributes.get(Port.NAME));
+ assertEquals("Unexpected registry port value", 30, registryPortAttributes.get(Port.PORT));
+ assertEquals("Unexpected registry port name", "cliJmxPort30", registryPortAttributes.get(Port.NAME));
+ assertEquals("Unexpected registry port transports", Collections.singleton(Transport.TCP),
+ MapValueConverter.getEnumSetAttribute(Port.TRANSPORTS, registryPortAttributes, Transport.class));
+ assertEquals("Unexpected registry port protocols", Collections.singleton(Protocol.RMI),
+ MapValueConverter.getEnumSetAttribute(Port.PROTOCOLS, registryPortAttributes, Protocol.class));
+
+ // overriding the registry port automatically overrides the connector port to <registry port> + 100
+ ConfigurationEntry oldConnectorPort = findById(_connectorPortId, ports);
+ assertNull("Store connector port is found", oldConnectorPort);
+
+ Collection<ConfigurationEntry> connectorPorts = findByProtocol(Protocol.JMX_RMI, ports);
+ assertEquals("Unexpected number of connector ports", 1, connectorPorts.size());
+ ConfigurationEntry connectorPort = connectorPorts.iterator().next();
+ assertNotNull("CLI connector port is not found", connectorPort);
+ Map<String, Object> connectorPortAttributes = connectorPort.getAttributes();
+ assertEquals("Unexpected connector port value", 30 + BrokerOptions.JMXPORT_CONNECTORSERVER_OFFSET,
+ connectorPortAttributes.get(Port.PORT));
+ assertEquals("Unexpected connector port name", "cliJmxPort" + (30 + BrokerOptions.JMXPORT_CONNECTORSERVER_OFFSET),
+ connectorPortAttributes.get(Port.NAME));
assertEquals("Unexpected connector port transports", Collections.singleton(Transport.TCP),
+ MapValueConverter.getEnumSetAttribute(Port.TRANSPORTS, connectorPortAttributes, Transport.class));
+ assertEquals("Unexpected connector port protocols", Collections.singleton(Protocol.JMX_RMI),
+ MapValueConverter.getEnumSetAttribute(Port.PROTOCOLS, connectorPortAttributes, Protocol.class));
+
+ assertPortsUnchanged(ports, _amqpPortId, _amqpSslPortId);
+ }
+
+ public void testJMXRegistryAndConnectorPortOverride()
+ {
+ BrokerOptions options = new BrokerOptions();
+ options.setJmxPortRegistryServer(30);
+ options.setJmxPortConnectorServer(40);
+
+ Collection<ConfigurationEntry> ports = createStoreAndGetPorts(options);
+ assertEquals("Unexpected port number", 4, ports.size());
+
+ ConfigurationEntry oldRegistryPort = findById(_registryPortId, ports);
+ assertNull("Store registry port is found", oldRegistryPort);
+
+ Collection<ConfigurationEntry> registryPorts = findByProtocol(Protocol.RMI, ports);
+ assertEquals("Unexpected number of registry ports", 1, registryPorts.size());
+ ConfigurationEntry registryPort = registryPorts.iterator().next();
+ assertNotNull("CLI connector port is not found", registryPort);
+ Map<String, Object> registryPortAttributes = registryPort.getAttributes();
+ assertEquals("Unexpected registry port value", 30, registryPortAttributes.get(Port.PORT));
+ assertEquals("Unexpected registry port name", "cliJmxPort30", registryPortAttributes.get(Port.NAME));
+ assertEquals("Unexpected registry port transports", Collections.singleton(Transport.TCP),
MapValueConverter.getEnumSetAttribute(Port.TRANSPORTS, registryPortAttributes, Transport.class));
- assertEquals("Unexpected connector port protocols", Collections.singleton(Protocol.RMI),
+ assertEquals("Unexpected registry port protocols", Collections.singleton(Protocol.RMI),
MapValueConverter.getEnumSetAttribute(Port.PROTOCOLS, registryPortAttributes, Protocol.class));
- assertPortsUnchanged(ports, _amqpPortId, _amqpSslPortId, _connectorPortId);
+ ConfigurationEntry oldConnectorPort = findById(_connectorPortId, ports);
+ assertNull("Store connector port is found", oldConnectorPort);
+
+ Collection<ConfigurationEntry> connectorPorts = findByProtocol(Protocol.JMX_RMI, ports);
+ assertEquals("Unexpected number of connector ports", 1, connectorPorts.size());
+ ConfigurationEntry connectorPort = connectorPorts.iterator().next();
+ assertNotNull("CLI connector port is not found", connectorPort);
+ Map<String, Object> connectorPortAttributes = connectorPort.getAttributes();
+ assertEquals("Unexpected connector port value", 40,
+ connectorPortAttributes.get(Port.PORT));
+ assertEquals("Unexpected connector port name", "cliJmxPort" + 40,
+ connectorPortAttributes.get(Port.NAME));
+ assertEquals("Unexpected connector port transports", Collections.singleton(Transport.TCP),
+ MapValueConverter.getEnumSetAttribute(Port.TRANSPORTS, connectorPortAttributes, Transport.class));
+ assertEquals("Unexpected connector port protocols", Collections.singleton(Protocol.JMX_RMI),
+ MapValueConverter.getEnumSetAttribute(Port.PROTOCOLS, connectorPortAttributes, Protocol.class));
+
+ assertPortsUnchanged(ports, _amqpPortId, _amqpSslPortId);
}
public void testAmqpPortOverride()
@@ -350,6 +412,45 @@ public class CommandLineOptionsHandlerTe
assertPortsUnchanged(ports, _amqpSslPortId, _registryPortId, _connectorPortId);
}
+ public void testSeveralAmqpPortOverride()
+ {
+ BrokerOptions options = new BrokerOptions();
+ options.addPort(10);
+ options.addPort(100);
+
+ Collection<ConfigurationEntry> ports = createStoreAndGetPorts(options);
+ assertEquals("Unexpected port number", 5, ports.size());
+
+ ConfigurationEntry storeAmqpPort = findById(_amqpPortId, ports);
+ assertNull("Store amqp port is found", storeAmqpPort);
+
+ UUID cliPortId = UUIDGenerator.generateBrokerChildUUID(Port.class.getSimpleName(), "cliAmqpPort10");
+ ConfigurationEntry amqpPort = findById(cliPortId, ports);
+ assertNotNull("CLI amqp port is not found", amqpPort);
+ Map<String, Object> amqpPortAttributes = amqpPort.getAttributes();
+ assertEquals("Unexpected amqp port", 10, amqpPortAttributes.get(Port.PORT));
+ assertEquals("Unexpected amqp port binding address", null, amqpPortAttributes.get(Port.BINDING_ADDRESS));
+ assertEquals("Unexpected amqp port name", "cliAmqpPort10", amqpPortAttributes.get(Port.NAME));
+ assertEquals("Unexpected amqp port protocols",
+ EnumSet.of(Protocol.AMQP_0_8, Protocol.AMQP_0_9, Protocol.AMQP_0_9_1, Protocol.AMQP_0_10, Protocol.AMQP_1_0),
+ amqpPortAttributes.get(Port.PROTOCOLS));
+ assertEquals("Unexpected amqp port transports", EnumSet.of(Transport.TCP), amqpPortAttributes.get(Port.TRANSPORTS));
+
+ UUID cliPort2Id = UUIDGenerator.generateBrokerChildUUID(Port.class.getSimpleName(), "cliAmqpPort100");
+ ConfigurationEntry amqpPort2 = findById(cliPort2Id, ports);
+ assertNotNull("CLI amqp port is not found", amqpPort2);
+ Map<String, Object> amqpPort2Attributes = amqpPort2.getAttributes();
+ assertEquals("Unexpected amqp port", 100, amqpPort2Attributes.get(Port.PORT));
+ assertEquals("Unexpected amqp port binding address", null, amqpPort2Attributes.get(Port.BINDING_ADDRESS));
+ assertEquals("Unexpected amqp port name", "cliAmqpPort100", amqpPort2Attributes.get(Port.NAME));
+ assertEquals("Unexpected amqp port protocols",
+ EnumSet.of(Protocol.AMQP_0_8, Protocol.AMQP_0_9, Protocol.AMQP_0_9_1, Protocol.AMQP_0_10, Protocol.AMQP_1_0),
+ amqpPort2Attributes.get(Port.PROTOCOLS));
+ assertEquals("Unexpected amqp port transports", EnumSet.of(Transport.TCP), amqpPort2Attributes.get(Port.TRANSPORTS));
+
+ assertPortsUnchanged(ports, _amqpSslPortId, _registryPortId, _connectorPortId);
+ }
+
public void testAmqpSslPortOverride()
{
BrokerOptions options = new BrokerOptions();
Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/store/MergingStoreTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/store/MergingStoreTest.java?rev=1429919&r1=1429918&r2=1429919&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/store/MergingStoreTest.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/store/MergingStoreTest.java Mon Jan 7 17:45:33 2013
@@ -20,7 +20,7 @@
*/
package org.apache.qpid.server.configuration.store;
-import static org.apache.qpid.server.configuration.ConfigurationEntryStoreFactory.DEFAULT_STORE;
+import static org.apache.qpid.server.configuration.ConfigurationEntryStoreFactory.DEFAULTS;
import java.io.File;
import java.util.Collection;
@@ -48,7 +48,7 @@ public class MergingStoreTest extends Qp
{
super.setUp();
setTestSystemProperty("QPID_HOME", TMP_FOLDER);
- _masterStore = new JsonConfigurationEntryStore(getClass().getClassLoader().getResource(DEFAULT_STORE));
+ _masterStore = new JsonConfigurationEntryStore(getClass().getClassLoader().getResource(DEFAULTS));
_userStoreFile = new File(TMP_FOLDER, "_store_" + System.currentTimeMillis() + "_" + getTestName());
_userStore = createStore(_userStoreFile);
}
Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/model/configuration/ConfigurationEntryTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/model/configuration/ConfigurationEntryTest.java?rev=1429919&r1=1429918&r2=1429919&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/model/configuration/ConfigurationEntryTest.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/model/configuration/ConfigurationEntryTest.java Mon Jan 7 17:45:33 2013
@@ -112,18 +112,18 @@ public class ConfigurationEntryTest exte
VirtualHost.class.getSimpleName(), attributes1, childrenIds, store);
assertTrue(entry1.equals(entry2));
- assertFalse("Entries should be dirrent because of diferrent IDs", entry1.equals(entryWithDifferentId));
+ assertFalse("Entries should be diferrent because of diferrent IDs", entry1.equals(entryWithDifferentId));
ConfigurationEntry entryWithDifferentChildId = new ConfigurationEntry(id,
VirtualHost.class.getSimpleName(), attributes1, Collections.singleton(UUID.randomUUID()), store);
- assertFalse("Entries should be dirrent because of diferrent children", entry1.equals(entryWithDifferentChildId));
+ assertFalse("Entries should be diferrent because of diferrent children", entry1.equals(entryWithDifferentChildId));
ConfigurationEntry entryWithDifferentName = new ConfigurationEntry(id,
VirtualHost.class.getSimpleName(), attributes2, childrenIds, store);
- assertFalse("Entries should be dirrent because of diferrent attributes", entry1.equals(entryWithDifferentName));
+ assertFalse("Entries should be diferrent because of diferrent attributes", entry1.equals(entryWithDifferentName));
ConfigurationEntry entryWithDifferentType = new ConfigurationEntry(id,
Broker.class.getSimpleName(), attributes1, childrenIds, store);
- assertFalse("Entries should be dirrent because of diferrent types", entry1.equals(entryWithDifferentType));
+ assertFalse("Entries should be diferrent because of diferrent types", entry1.equals(entryWithDifferentType));
}
}
Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/util/BrokerTestHelper.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/util/BrokerTestHelper.java?rev=1429919&r1=1429918&r2=1429919&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/util/BrokerTestHelper.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/util/BrokerTestHelper.java Mon Jan 7 17:45:33 2013
@@ -40,6 +40,7 @@ import org.apache.qpid.framing.abstracti
import org.apache.qpid.server.AMQChannel;
import org.apache.qpid.server.configuration.ConfigurationEntryStore;
import org.apache.qpid.server.configuration.VirtualHostConfiguration;
+import org.apache.qpid.server.configuration.store.JsonConfigurationEntryStore;
import org.apache.qpid.server.exchange.DefaultExchangeFactory;
import org.apache.qpid.server.exchange.Exchange;
import org.apache.qpid.server.logging.RootMessageLogger;
@@ -65,7 +66,7 @@ public class BrokerTestHelper
{
protected static final String BROKER_STORE_CLASS_NAME_KEY = "brokerstore.class.name";
- protected static final String JSON_BROKER_STORE_CLASS_NAME = "org.apache.qpid.server.configuration.store.JsonConfigurationEntryStore";
+ protected static final String JSON_BROKER_STORE_CLASS_NAME = JsonConfigurationEntryStore.class.getName();
public static Broker createBrokerMock()
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org