You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by Aidan Skinner <ai...@apache.org> on 2009/02/24 14:16:46 UTC
Re: svn commit: r747363 - in /qpid/trunk/qpid/java: ./
broker/src/main/java/org/apache/qpid/server/configuration/
broker/src/test/java/org/apache/qpid/server/configuration/ lib/
git-svn went horribly wrong at this point, sorry. Should be fixed now.
- Aidan (who forgot --squash on git merge)
On Tue, Feb 24, 2009 at 1:02 PM, <ai...@apache.org> wrote:
> Author: aidan
> Date: Tue Feb 24 13:02:30 2009
> New Revision: 747363
>
> URL: http://svn.apache.org/viewvc?rev=747363&view=rev
> Log:
> Merge branch 'QPID-1612'
>
> Added:
> qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java
> qpid/trunk/qpid/java/lib/commons-beanutils-core-1.8.0.jar
> qpid/trunk/qpid/java/lib/commons-configuration-1.6.jar
> qpid/trunk/qpid/java/lib/commons-digester-1.8.1.jar
> Removed:
> qpid/trunk/qpid/java/lib/commons-configuration-1.2.jar
> Modified:
> qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java
> qpid/trunk/qpid/java/build.deps
>
> Modified: qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java
> URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java?rev=747363&r1=747362&r2=747363&view=diff
> ==============================================================================
> --- qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java (original)
> +++ qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java Tue Feb 24 13:02:30 2009
> @@ -25,12 +25,18 @@
> import java.util.Iterator;
> import java.util.List;
> import java.util.Map;
> +import java.util.Map.Entry;
>
> +import org.apache.commons.configuration.CombinedConfiguration;
> import org.apache.commons.configuration.CompositeConfiguration;
> import org.apache.commons.configuration.Configuration;
> import org.apache.commons.configuration.ConfigurationException;
> +import org.apache.commons.configuration.ConfigurationFactory;
> +import org.apache.commons.configuration.DefaultConfigurationBuilder;
> import org.apache.commons.configuration.SystemConfiguration;
> import org.apache.commons.configuration.XMLConfiguration;
> +import org.apache.commons.configuration.ConfigurationFactory.DigesterConfigurationFactory;
> +import org.apache.commons.configuration.tree.ExpressionEngine;
>
> public class ServerConfiguration
> {
> @@ -45,24 +51,57 @@
> private static final long DEFAULT_HOUSEKEEPING_PERIOD = 30000L;
> private static final int DEFAULT_JMXPORT = 8999;
>
> - private long _housekeepingExpiredMessageCheckPeriod = DEFAULT_HOUSEKEEPING_PERIOD;
> private static int _jmxPort = DEFAULT_JMXPORT;
>
> private Map<String, VirtualHostConfiguration> _virtualHosts = new HashMap<String, VirtualHostConfiguration>();
> private SecurityConfiguration _securityConfiguration = null;
> +
> + // Map of environment variables to config items
> + private static final Map<String, String> envVarMap = new HashMap<String, String>();
> +
> + {
> + envVarMap.put("QPID_PORT", "connector.port");
> + envVarMap.put("QPID_ENABLEDIRECTBUFFERS", "advanced.enableDirectBuffers");
> + envVarMap.put("QPID_SSLPORT", "connector.ssl.port");
> + envVarMap.put("QPID_NIO", "connector.qpidnio");
> + envVarMap.put("QPID_WRITEBIASED", "advanced.useWriteBiasedPool");
> + envVarMap.put("QPID_JMXPORT", "management.jmxport");
> + envVarMap.put("QPID_FRAMESIZE", "advanced.framesize");
> + envVarMap.put("QPID_MSGAUTH", "security.msg-auth");
> + envVarMap.put("QPID_AUTOREGISTER", "auto_register");
> + envVarMap.put("QPID_MANAGEMENTENABLED", "management.enabled");
> + envVarMap.put("QPID_HEARTBEATDELAY", "heartbeat.delay");
> + envVarMap.put("QPID_HEARTBEATTIMEOUTFACTOR", "heartbeat.timeoutFactor");
> + envVarMap.put("QPID_MAXIMUMMESSAGEAGE", "maximumMessageAge");
> + envVarMap.put("QPID_MAXIMUMMESSAGECOUNT", "maximumMessageCount");
> + envVarMap.put("QPID_MAXIMUMQUEUEDEPTH", "maximumQueueDepth");
> + envVarMap.put("QPID_MAXIMUMMESSAGESIZE", "maximumMessageSize");
> + envVarMap.put("QPID_MINIMUMALERTREPEATGAP", "minimumAlertRepeatGap");
> + envVarMap.put("QPID_SOCKETRECEIVEBUFFER", "connector.socketReceiveBuffer");
> + envVarMap.put("QPID_SOCKETWRITEBUFFER", "connector.socketWriteBuffer");
> + envVarMap.put("QPID_TCPNODELAY", "connector.tcpNoDelay");
> + envVarMap.put("QPID_ENABLEPOOLEDALLOCATOR", "advanced.enablePooledAllocator");
> + }
>
> public ServerConfiguration(File configurationURL) throws ConfigurationException
> {
> - this(config(configurationURL));
> + this(parseConfig(configurationURL));
> }
>
> public ServerConfiguration(Configuration conf) throws ConfigurationException
> {
> _config = conf;
> +
> + substituteEnvironmentVariables();
> +
> _jmxPort = _config.getInt("management.jmxport", 8999);
> -
> _securityConfiguration = new SecurityConfiguration(conf.subset("security"));
>
> + setupVirtualHosts(conf);
> + }
> +
> + private void setupVirtualHosts(Configuration conf) throws ConfigurationException
> + {
> List vhosts = conf.getList("virtualhosts");
> Iterator i = vhosts.iterator();
> while (i.hasNext())
> @@ -85,17 +124,32 @@
> }
> }
>
> - public static String[] objListToStringArray(List objList)
> + private void substituteEnvironmentVariables()
> {
> - String[] networkStrings = new String[objList.size()];
> - int i = 0;
> - for (Object network : objList)
> + for (Entry<String, String> var : envVarMap.entrySet())
> {
> - networkStrings[i++] = (String) network;
> + String val = System.getenv(var.getKey());
> + if (val != null)
> + {
> + _config.setProperty(var.getValue(), val);
> + }
> }
> - return networkStrings;
> }
>
> + private final static Configuration parseConfig(File file) throws ConfigurationException
> + {
> + ConfigurationFactory factory = new ConfigurationFactory();
> + factory.setConfigurationFileName(file.getAbsolutePath());
> + Configuration conf = factory.getConfiguration();
> + Iterator keys = conf.getKeys();
> + if (!keys.hasNext())
> + {
> + keys = null;
> + conf = flatConfig(file);
> + }
> + return conf;
> + }
> +
> // Our configuration class needs to make the interpolate method
> // public so it can be called below from the config method.
> private static class MyConfiguration extends CompositeConfiguration
> @@ -105,8 +159,8 @@
> return super.interpolate(obj);
> }
> }
> -
> - private final static Configuration config(File url) throws ConfigurationException
> +
> + private final static Configuration flatConfig(File file) throws ConfigurationException
> {
> // We have to override the interpolate methods so that
> // interpolation takes place accross the entirety of the
> @@ -121,7 +175,7 @@
> return conf.interpolate(o);
> }
> });
> - conf.addConfiguration(new XMLConfiguration(url)
> + conf.addConfiguration(new XMLConfiguration(file)
> {
> protected String interpolate(String o)
> {
> @@ -399,13 +453,13 @@
> return _config.getString("virtualhosts.default");
> }
>
> - public void setHousekeepingExpiredMessageCheckPeriod(long _housekeepingExpiredMessageCheckPeriod)
> + public void setHousekeepingExpiredMessageCheckPeriod(long value)
> {
> - this._housekeepingExpiredMessageCheckPeriod = _housekeepingExpiredMessageCheckPeriod;
> + _config.setProperty("housekeeping.expiredMessageCheckPeriod", value);
> }
>
> public long getHousekeepingExpiredMessageCheckPeriod()
> {
> - return _housekeepingExpiredMessageCheckPeriod;
> + return _config.getLong("housekeeping.expiredMessageCheckPeriod", DEFAULT_HOUSEKEEPING_PERIOD);
> }
> }
>
> Added: qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java
> URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java?rev=747363&view=auto
> ==============================================================================
> --- qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java (added)
> +++ qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java Tue Feb 24 13:02:30 2009
> @@ -0,0 +1,672 @@
> +/*
> + *
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements. See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership. The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License. You may obtain a copy of the License at
> + *
> + * http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied. See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + *
> + */
> +package org.apache.qpid.server.configuration;
> +
> +import java.io.File;
> +import java.io.FileWriter;
> +import java.io.IOException;
> +import java.util.List;
> +
> +import org.apache.commons.configuration.ConfigurationException;
> +import org.apache.commons.configuration.SystemConfiguration;
> +import org.apache.commons.configuration.XMLConfiguration;
> +
> +import junit.framework.TestCase;
> +
> +public class ServerConfigurationTest extends TestCase
> +{
> +
> + private XMLConfiguration _config;
> +
> + @Override
> + public void setUp()
> + {
> + _config = new XMLConfiguration();
> + }
> +
> + public void testSetJMXManagementPort() throws ConfigurationException
> + {
> + ServerConfiguration serverConfig = new ServerConfiguration(_config);
> + serverConfig.setJMXManagementPort(23);
> + assertEquals(23, serverConfig.getJMXManagementPort());
> + }
> +
> + public void testGetJMXManagementPort() throws ConfigurationException
> + {
> + _config.setProperty("management.jmxport", 42);
> + ServerConfiguration serverConfig = new ServerConfiguration(_config);
> + assertEquals(42, serverConfig.getJMXManagementPort());
> + }
> +
> + public void testGetPlatformMbeanserver() throws ConfigurationException
> + {
> + // Check default
> + ServerConfiguration serverConfig = new ServerConfiguration(_config);
> + assertEquals(true, serverConfig.getPlatformMbeanserver());
> +
> + // Check value we set
> + _config.setProperty("management.platform-mbeanserver", false);
> + serverConfig = new ServerConfiguration(_config);
> + assertEquals(false, serverConfig.getPlatformMbeanserver());
> + }
> +
> + public void testGetPluginDirectory() throws ConfigurationException
> + {
> + // Check default
> + ServerConfiguration serverConfig = new ServerConfiguration(_config);
> + assertEquals(null, serverConfig.getPluginDirectory());
> +
> + // Check value we set
> + _config.setProperty("plugin-directory", "/path/to/plugins");
> + serverConfig = new ServerConfiguration(_config);
> + assertEquals("/path/to/plugins", serverConfig.getPluginDirectory());
> + }
> +
> + public void testGetPrincipalDatabaseNames() throws ConfigurationException
> + {
> + // Check default
> + ServerConfiguration serverConfig = new ServerConfiguration(_config);
> + assertEquals(0, serverConfig.getPrincipalDatabaseNames().size());
> +
> + // Check value we set
> + _config.setProperty("security.principal-databases.principal-database(0).name", "a");
> + _config.setProperty("security.principal-databases.principal-database(1).name", "b");
> + serverConfig = new ServerConfiguration(_config);
> + List<String> dbs = serverConfig.getPrincipalDatabaseNames();
> + assertEquals(2, dbs.size());
> + assertEquals("a", dbs.get(0));
> + assertEquals("b", dbs.get(1));
> + }
> +
> + public void testGetPrincipalDatabaseClass() throws ConfigurationException
> + {
> + // Check default
> + ServerConfiguration serverConfig = new ServerConfiguration(_config);
> + assertEquals(0, serverConfig.getPrincipalDatabaseClass().size());
> +
> + // Check value we set
> + _config.setProperty("security.principal-databases.principal-database(0).class", "a");
> + _config.setProperty("security.principal-databases.principal-database(1).class", "b");
> + serverConfig = new ServerConfiguration(_config);
> + List<String> dbs = serverConfig.getPrincipalDatabaseClass();
> + assertEquals(2, dbs.size());
> + assertEquals("a", dbs.get(0));
> + assertEquals("b", dbs.get(1));
> + }
> +
> + public void testGetPrincipalDatabaseAttributeNames() throws ConfigurationException
> + {
> + // Check default
> + ServerConfiguration serverConfig = new ServerConfiguration(_config);
> + assertEquals(0, serverConfig.getPrincipalDatabaseAttributeNames(1).size());
> +
> + // Check value we set
> + _config.setProperty("security.principal-databases.principal-database(0).attributes(0).attribute.name", "a");
> + _config.setProperty("security.principal-databases.principal-database(0).attributes(1).attribute.name", "b");
> + serverConfig = new ServerConfiguration(_config);
> + List<String> dbs = serverConfig.getPrincipalDatabaseAttributeNames(0);
> + assertEquals(2, dbs.size());
> + assertEquals("a", dbs.get(0));
> + assertEquals("b", dbs.get(1));
> + }
> +
> +
> + public void testGetPrincipalDatabaseAttributeValues() throws ConfigurationException
> + {
> + // Check default
> + ServerConfiguration serverConfig = new ServerConfiguration(_config);
> + assertEquals(0, serverConfig.getPrincipalDatabaseAttributeValues(1).size());
> +
> + // Check value we set
> + _config.setProperty("security.principal-databases.principal-database(0).attributes(0).attribute.value", "a");
> + _config.setProperty("security.principal-databases.principal-database(0).attributes(1).attribute.value", "b");
> + serverConfig = new ServerConfiguration(_config);
> + List<String> dbs = serverConfig.getPrincipalDatabaseAttributeValues(0);
> + assertEquals(2, dbs.size());
> + assertEquals("a", dbs.get(0));
> + assertEquals("b", dbs.get(1));
> + }
> +
> + public void testGetManagementAccessList() throws ConfigurationException
> + {
> + // Check default
> + ServerConfiguration serverConfig = new ServerConfiguration(_config);
> + assertEquals(0, serverConfig.getManagementAccessList().size());
> +
> + // Check value we set
> + _config.setProperty("security.jmx.access(0)", "a");
> + _config.setProperty("security.jmx.access(1)", "b");
> + serverConfig = new ServerConfiguration(_config);
> + List<String> dbs = serverConfig.getManagementAccessList();
> + assertEquals(2, dbs.size());
> + assertEquals("a", dbs.get(0));
> + assertEquals("b", dbs.get(1));
> + }
> +
> + public void testGetFrameSize() throws ConfigurationException
> + {
> + // Check default
> + ServerConfiguration serverConfig = new ServerConfiguration(_config);
> + assertEquals(65536, serverConfig.getFrameSize());
> +
> + // Check value we set
> + _config.setProperty("advanced.framesize", "23");
> + serverConfig = new ServerConfiguration(_config);
> + assertEquals(23, serverConfig.getFrameSize());
> + }
> +
> + public void testGetManagementSecurityEnabled() throws ConfigurationException
> + {
> + // Check default
> + ServerConfiguration serverConfig = new ServerConfiguration(_config);
> + assertEquals(false, serverConfig.getManagementSecurityEnabled());
> +
> + // Check value we set
> + _config.setProperty("management.security-enabled", true);
> + serverConfig = new ServerConfiguration(_config);
> + assertEquals(true, serverConfig.getManagementSecurityEnabled());
> + }
> +
> + public void testGetProtectIOEnabled() throws ConfigurationException
> + {
> + // Check default
> + ServerConfiguration serverConfig = new ServerConfiguration(_config);
> + assertEquals(false, serverConfig.getProtectIOEnabled());
> +
> + // Check value we set
> + _config.setProperty("broker.connector.protectio.enabled", true);
> + serverConfig = new ServerConfiguration(_config);
> + assertEquals(true, serverConfig.getProtectIOEnabled());
> + }
> +
> + public void testGetBufferReadLimit() throws ConfigurationException
> + {
> + // Check default
> + ServerConfiguration serverConfig = new ServerConfiguration(_config);
> + assertEquals(262144, serverConfig.getBufferReadLimit());
> +
> + // Check value we set
> + _config.setProperty("broker.connector.protectio.readBufferLimitSize", 23);
> + serverConfig = new ServerConfiguration(_config);
> + assertEquals(23, serverConfig.getBufferReadLimit());
> + }
> +
> + public void testGetBufferWriteLimit() throws ConfigurationException
> + {
> + // Check default
> + ServerConfiguration serverConfig = new ServerConfiguration(_config);
> + assertEquals(262144, serverConfig.getBufferWriteLimit());
> +
> + // Check value we set
> + _config.setProperty("broker.connector.protectio.writeBufferLimitSize", 23);
> + serverConfig = new ServerConfiguration(_config);
> + assertEquals(23, serverConfig.getBufferWriteLimit());
> + }
> +
> + public void testGetSynchedClocks() throws ConfigurationException
> + {
> + // Check default
> + ServerConfiguration serverConfig = new ServerConfiguration(_config);
> + assertEquals(false, serverConfig.getSynchedClocks());
> +
> + // Check value we set
> + _config.setProperty("advanced.synced-clocks", true);
> + serverConfig = new ServerConfiguration(_config);
> + assertEquals(true, serverConfig.getSynchedClocks());
> + }
> +
> + public void testGetMsgAuth() throws ConfigurationException
> + {
> + // Check default
> + ServerConfiguration serverConfig = new ServerConfiguration(_config);
> + assertEquals(false, serverConfig.getMsgAuth());
> +
> + // Check value we set
> + _config.setProperty("security.msg-auth", true);
> + serverConfig = new ServerConfiguration(_config);
> + assertEquals(true, serverConfig.getMsgAuth());
> + }
> +
> + public void testGetJMXPrincipalDatabase() throws ConfigurationException
> + {
> + // Check default
> + ServerConfiguration serverConfig = new ServerConfiguration(_config);
> + assertEquals(null, serverConfig.getJMXPrincipalDatabase());
> +
> + // Check value we set
> + _config.setProperty("security.jmx.principal-database", "a");
> + serverConfig = new ServerConfiguration(_config);
> + assertEquals("a", serverConfig.getJMXPrincipalDatabase());
> + }
> +
> + public void testGetManagementKeyStorePath() throws ConfigurationException
> + {
> + // Check default
> + ServerConfiguration serverConfig = new ServerConfiguration(_config);
> + assertEquals(null, serverConfig.getManagementKeyStorePath());
> +
> + // Check value we set
> + _config.setProperty("management.ssl.keyStorePath", "a");
> + serverConfig = new ServerConfiguration(_config);
> + assertEquals("a", serverConfig.getManagementKeyStorePath());
> + }
> +
> + public void testGetManagementSSLEnabled() throws ConfigurationException
> + {
> + // Check default
> + ServerConfiguration serverConfig = new ServerConfiguration(_config);
> + assertEquals(true, serverConfig.getManagementSSLEnabled());
> +
> + // Check value we set
> + _config.setProperty("management.ssl.enabled", false);
> + serverConfig = new ServerConfiguration(_config);
> + assertEquals(false, serverConfig.getManagementSSLEnabled());
> + }
> +
> + public void testGetManagementKeyStorePassword() throws ConfigurationException
> + {
> + // Check default
> + ServerConfiguration serverConfig = new ServerConfiguration(_config);
> + assertEquals(null, serverConfig.getManagementKeyStorePassword());
> +
> + // Check value we set
> + _config.setProperty("management.ssl.keyStorePassword", "a");
> + serverConfig = new ServerConfiguration(_config);
> + assertEquals("a", serverConfig.getManagementKeyStorePassword());
> + }
> +
> + public void testGetQueueAutoRegister() throws ConfigurationException
> + {
> + // Check default
> + ServerConfiguration serverConfig = new ServerConfiguration(_config);
> + assertEquals(true, serverConfig.getQueueAutoRegister());
> +
> + // Check value we set
> + _config.setProperty("queue.auto_register", false);
> + serverConfig = new ServerConfiguration(_config);
> + assertEquals(false, serverConfig.getQueueAutoRegister());
> + }
> +
> + public void testGetManagementEnabled() throws ConfigurationException
> + {
> + // Check default
> + ServerConfiguration serverConfig = new ServerConfiguration(_config);
> + assertEquals(true, serverConfig.getManagementEnabled());
> +
> + // Check value we set
> + _config.setProperty("management.enabled", false);
> + serverConfig = new ServerConfiguration(_config);
> + assertEquals(false, serverConfig.getManagementEnabled());
> + }
> +
> + public void testSetManagementEnabled() throws ConfigurationException
> + {
> + // Check value we set
> + ServerConfiguration serverConfig = new ServerConfiguration(_config);
> + serverConfig.setManagementEnabled(false);
> + assertEquals(false, serverConfig.getManagementEnabled());
> + }
> +
> + public void testGetHeartBeatDelay() throws ConfigurationException
> + {
> + // Check default
> + ServerConfiguration serverConfig = new ServerConfiguration(_config);
> + assertEquals(5, serverConfig.getHeartBeatDelay());
> +
> + // Check value we set
> + _config.setProperty("heartbeat.delay", 23);
> + serverConfig = new ServerConfiguration(_config);
> + assertEquals(23, serverConfig.getHeartBeatDelay());
> + }
> +
> + public void testGetHeartBeatTimeout() throws ConfigurationException
> + {
> + // Check default
> + ServerConfiguration serverConfig = new ServerConfiguration(_config);
> + assertEquals(2.0, serverConfig.getHeartBeatTimeout());
> +
> + // Check value we set
> + _config.setProperty("heartbeat.timeoutFactor", 2.3);
> + serverConfig = new ServerConfiguration(_config);
> + assertEquals(2.3, serverConfig.getHeartBeatTimeout());
> + }
> +
> + public void testGetMaximumMessageAge() throws ConfigurationException
> + {
> + // Check default
> + ServerConfiguration serverConfig = new ServerConfiguration(_config);
> + assertEquals(0, serverConfig.getMaximumMessageAge());
> +
> + // Check value we set
> + _config.setProperty("maximumMessageAge", 10L);
> + serverConfig = new ServerConfiguration(_config);
> + assertEquals(10, serverConfig.getMaximumMessageAge());
> + }
> +
> + public void testGetMaximumMessageCount() throws ConfigurationException
> + {
> + // Check default
> + ServerConfiguration serverConfig = new ServerConfiguration(_config);
> + assertEquals(0, serverConfig.getMaximumMessageCount());
> +
> + // Check value we set
> + _config.setProperty("maximumMessageCount", 10L);
> + serverConfig = new ServerConfiguration(_config);
> + assertEquals(10, serverConfig.getMaximumMessageCount());
> + }
> +
> + public void testGetMaximumQueueDepth() throws ConfigurationException
> + {
> + // Check default
> + ServerConfiguration serverConfig = new ServerConfiguration(_config);
> + assertEquals(0, serverConfig.getMaximumQueueDepth());
> +
> + // Check value we set
> + _config.setProperty("maximumQueueDepth", 10L);
> + serverConfig = new ServerConfiguration(_config);
> + assertEquals(10, serverConfig.getMaximumQueueDepth());
> + }
> +
> + public void testGetMaximumMessageSize() throws ConfigurationException
> + {
> + // Check default
> + ServerConfiguration serverConfig = new ServerConfiguration(_config);
> + assertEquals(0, serverConfig.getMaximumMessageSize());
> +
> + // Check value we set
> + _config.setProperty("maximumMessageSize", 10L);
> + serverConfig = new ServerConfiguration(_config);
> + assertEquals(10, serverConfig.getMaximumMessageSize());
> + }
> +
> + public void testGetMinimumAlertRepeatGap() throws ConfigurationException
> + {
> + // Check default
> + ServerConfiguration serverConfig = new ServerConfiguration(_config);
> + assertEquals(0, serverConfig.getMinimumAlertRepeatGap());
> +
> + // Check value we set
> + _config.setProperty("minimumAlertRepeatGap", 10L);
> + serverConfig = new ServerConfiguration(_config);
> + assertEquals(10, serverConfig.getMinimumAlertRepeatGap());
> + }
> +
> + public void testGetProcessors() throws ConfigurationException
> + {
> + // Check default
> + ServerConfiguration serverConfig = new ServerConfiguration(_config);
> + assertEquals(4, serverConfig.getProcessors());
> +
> + // Check value we set
> + _config.setProperty("connector.processors", 10);
> + serverConfig = new ServerConfiguration(_config);
> + assertEquals(10, serverConfig.getProcessors());
> + }
> +
> + public void testGetPort() throws ConfigurationException
> + {
> + // Check default
> + ServerConfiguration serverConfig = new ServerConfiguration(_config);
> + assertEquals(5672, serverConfig.getPort());
> +
> + // Check value we set
> + _config.setProperty("connector.port", 10);
> + serverConfig = new ServerConfiguration(_config);
> + assertEquals(10, serverConfig.getPort());
> + }
> +
> + public void testGetBind() throws ConfigurationException
> + {
> + // Check default
> + ServerConfiguration serverConfig = new ServerConfiguration(_config);
> + assertEquals("wildcard", serverConfig.getBind());
> +
> + // Check value we set
> + _config.setProperty("connector.bind", "a");
> + serverConfig = new ServerConfiguration(_config);
> + assertEquals("a", serverConfig.getBind());
> + }
> +
> + public void testGetReceiveBufferSize() throws ConfigurationException
> + {
> + // Check default
> + ServerConfiguration serverConfig = new ServerConfiguration(_config);
> + assertEquals(32767, serverConfig.getReceiveBufferSize());
> +
> + // Check value we set
> + _config.setProperty("connector.socketReceiveBuffer", "23");
> + serverConfig = new ServerConfiguration(_config);
> + assertEquals(23, serverConfig.getReceiveBufferSize());
> + }
> +
> + public void testGetWriteBufferSize() throws ConfigurationException
> + {
> + // Check default
> + ServerConfiguration serverConfig = new ServerConfiguration(_config);
> + assertEquals(32767, serverConfig.getWriteBufferSize());
> +
> + // Check value we set
> + _config.setProperty("connector.socketWriteBuffer", "23");
> + serverConfig = new ServerConfiguration(_config);
> + assertEquals(23, serverConfig.getWriteBufferSize());
> + }
> +
> + public void testGetTcpNoDelay() throws ConfigurationException
> + {
> + // Check default
> + ServerConfiguration serverConfig = new ServerConfiguration(_config);
> + assertEquals(true, serverConfig.getTcpNoDelay());
> +
> + // Check value we set
> + _config.setProperty("connector.tcpNoDelay", false);
> + serverConfig = new ServerConfiguration(_config);
> + assertEquals(false, serverConfig.getTcpNoDelay());
> + }
> +
> + public void testGetEnableExecutorPool() throws ConfigurationException
> + {
> + // Check default
> + ServerConfiguration serverConfig = new ServerConfiguration(_config);
> + assertEquals(false, serverConfig.getEnableExecutorPool());
> +
> + // Check value we set
> + _config.setProperty("advanced.filterchain[@enableExecutorPool]", true);
> + serverConfig = new ServerConfiguration(_config);
> + assertEquals(true, serverConfig.getEnableExecutorPool());
> + }
> +
> + public void testGetEnablePooledAllocator() throws ConfigurationException
> + {
> + // Check default
> + ServerConfiguration serverConfig = new ServerConfiguration(_config);
> + assertEquals(false, serverConfig.getEnablePooledAllocator());
> +
> + // Check value we set
> + _config.setProperty("advanced.enablePooledAllocator", true);
> + serverConfig = new ServerConfiguration(_config);
> + assertEquals(true, serverConfig.getEnablePooledAllocator());
> + }
> +
> + public void testGetEnableDirectBuffers() throws ConfigurationException
> + {
> + // Check default
> + ServerConfiguration serverConfig = new ServerConfiguration(_config);
> + assertEquals(false, serverConfig.getEnableDirectBuffers());
> +
> + // Check value we set
> + _config.setProperty("advanced.enableDirectBuffers", true);
> + serverConfig = new ServerConfiguration(_config);
> + assertEquals(true, serverConfig.getEnableDirectBuffers());
> + }
> +
> + public void testGetEnableSSL() throws ConfigurationException
> + {
> + // Check default
> + ServerConfiguration serverConfig = new ServerConfiguration(_config);
> + assertEquals(false, serverConfig.getEnableSSL());
> +
> + // Check value we set
> + _config.setProperty("connector.ssl.enabled", true);
> + serverConfig = new ServerConfiguration(_config);
> + assertEquals(true, serverConfig.getEnableSSL());
> + }
> +
> + public void testGetSSLOnly() throws ConfigurationException
> + {
> + // Check default
> + ServerConfiguration serverConfig = new ServerConfiguration(_config);
> + assertEquals(true, serverConfig.getSSLOnly());
> +
> + // Check value we set
> + _config.setProperty("connector.ssl.sslOnly", false);
> + serverConfig = new ServerConfiguration(_config);
> + assertEquals(false, serverConfig.getSSLOnly());
> + }
> +
> + public void testGetSSLPort() throws ConfigurationException
> + {
> + // Check default
> + ServerConfiguration serverConfig = new ServerConfiguration(_config);
> + assertEquals(8672, serverConfig.getSSLPort());
> +
> + // Check value we set
> + _config.setProperty("connector.ssl.port", 23);
> + serverConfig = new ServerConfiguration(_config);
> + assertEquals(23, serverConfig.getSSLPort());
> + }
> +
> + public void testGetKeystorePath() throws ConfigurationException
> + {
> + // Check default
> + ServerConfiguration serverConfig = new ServerConfiguration(_config);
> + assertEquals("none", serverConfig.getKeystorePath());
> +
> + // Check value we set
> + _config.setProperty("connector.ssl.keystorePath", "a");
> + serverConfig = new ServerConfiguration(_config);
> + assertEquals("a", serverConfig.getKeystorePath());
> + }
> +
> + public void testGetKeystorePassword() throws ConfigurationException
> + {
> + // Check default
> + ServerConfiguration serverConfig = new ServerConfiguration(_config);
> + assertEquals("none", serverConfig.getKeystorePassword());
> +
> + // Check value we set
> + _config.setProperty("connector.ssl.keystorePassword", "a");
> + serverConfig = new ServerConfiguration(_config);
> + assertEquals("a", serverConfig.getKeystorePassword());
> + }
> +
> + public void testGetCertType() throws ConfigurationException
> + {
> + // Check default
> + ServerConfiguration serverConfig = new ServerConfiguration(_config);
> + assertEquals("SunX509", serverConfig.getCertType());
> +
> + // Check value we set
> + _config.setProperty("connector.ssl.certType", "a");
> + serverConfig = new ServerConfiguration(_config);
> + assertEquals("a", serverConfig.getCertType());
> + }
> +
> + public void testGetQpidNIO() throws ConfigurationException
> + {
> + // Check default
> + ServerConfiguration serverConfig = new ServerConfiguration(_config);
> + assertEquals(false, serverConfig.getQpidNIO());
> +
> + // Check value we set
> + _config.setProperty("connector.qpidnio", true);
> + serverConfig = new ServerConfiguration(_config);
> + assertEquals(true, serverConfig.getQpidNIO());
> + }
> +
> + public void testGetUseBiasedWrites() throws ConfigurationException
> + {
> + // Check default
> + ServerConfiguration serverConfig = new ServerConfiguration(_config);
> + assertEquals(false, serverConfig.getUseBiasedWrites());
> +
> + // Check value we set
> + _config.setProperty("advanced.useWriteBiasedPool", true);
> + serverConfig = new ServerConfiguration(_config);
> + assertEquals(true, serverConfig.getUseBiasedWrites());
> + }
> +
> + public void testGetHousekeepingExpiredMessageCheckPeriod() throws ConfigurationException
> + {
> + // Check default
> + ServerConfiguration serverConfig = new ServerConfiguration(_config);
> + assertEquals(30000, serverConfig.getHousekeepingExpiredMessageCheckPeriod());
> +
> + // Check value we set
> + _config.setProperty("housekeeping.expiredMessageCheckPeriod", 23L);
> + serverConfig = new ServerConfiguration(_config);
> + assertEquals(23, serverConfig.getHousekeepingExpiredMessageCheckPeriod());
> + serverConfig.setHousekeepingExpiredMessageCheckPeriod(42L);
> + assertEquals(42, serverConfig.getHousekeepingExpiredMessageCheckPeriod());
> + }
> +
> + public void testSingleConfiguration() throws IOException, ConfigurationException
> + {
> + File fileA = File.createTempFile(getClass().getName(), null);
> + fileA.deleteOnExit();
> + FileWriter out = new FileWriter(fileA);
> + out.write("<broker><connector><port>2342</port><ssl><port>4235</port></ssl></connector></broker>");
> + out.close();
> + ServerConfiguration conf = new ServerConfiguration(fileA);
> + assertEquals(4235, conf.getSSLPort());
> + }
> +
> + public void testCombinedConfiguration() throws IOException, ConfigurationException
> + {
> + File mainFile = File.createTempFile(getClass().getName(), null);
> + File fileA = File.createTempFile(getClass().getName(), null);
> + File fileB = File.createTempFile(getClass().getName(), null);
> +
> + mainFile.deleteOnExit();
> + fileA.deleteOnExit();
> + fileB.deleteOnExit();
> +
> + FileWriter out = new FileWriter(mainFile);
> + out.write("<configuration><system/>");
> + out.write("<xml fileName=\""+fileA.getAbsolutePath()+"\"/>");
> + out.write("<xml fileName=\""+fileB.getAbsolutePath()+"\"/>");
> + out.write("</configuration>");
> + out.close();
> +
> + out = new FileWriter(fileA);
> + out.write("<broker><connector><port>2342</port><ssl><port>4235</port></ssl></connector></broker>");
> + out.close();
> +
> + out = new FileWriter(fileB);
> + out.write("<broker><connector><ssl><port>2345</port></ssl><qpidnio>true</qpidnio></connector></broker>");
> + out.close();
> +
> + ServerConfiguration config = new ServerConfiguration(mainFile.getAbsoluteFile());
> + assertEquals(4235, config.getSSLPort()); // From first file, not overriden by second
> + assertEquals(2342, config.getPort()); // From the first file, not present in the second
> + assertEquals(true, config.getQpidNIO()); // From the second file, not present in the first
> + }
> +
> +}
>
> Modified: qpid/trunk/qpid/java/build.deps
> URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/build.deps?rev=747363&r1=747362&r2=747363&view=diff
> ==============================================================================
> --- qpid/trunk/qpid/java/build.deps (original)
> +++ qpid/trunk/qpid/java/build.deps Tue Feb 24 13:02:30 2009
> @@ -1,9 +1,11 @@
> backport-util-concurrent=lib/backport-util-concurrent-2.2.jar
>
> +commons-beanutils-core=lib/commons-beanutils-core-1.8.0.jar
> commons-cli=lib/commons-cli-1.0.jar
> commons-codec=lib/commons-codec-1.3.jar
> commons-collections=lib/commons-collections-3.2.jar
> -commons-configuration=lib/commons-configuration-1.2.jar
> +commons-configuration=lib/commons-configuration-1.6.jar
> +commons-digester=lib/commons-digester-1.8.1.jar
> commons-lang=lib/commons-lang-2.2.jar
> commons-logging=lib/commons-logging-1.0.4.jar
> commons-pool=lib/commons-pool-1.4.jar
> @@ -71,8 +73,9 @@
> felix.libs=${osgi-core} ${felix-framework}
>
> common.libs=${slf4j-api} ${backport-util-concurrent} ${mina-core} \
> - ${mina-filter-ssl} ${commons-codec} ${commons-lang} ${commons-collections} \
> - ${commons-configuration}
> + ${mina-filter-ssl} ${commons-beanutils-core} ${commons-codec} \
> + ${commons-lang} ${commons-collections} ${commons-configuration} \
> + ${commons-digester}
> client.libs=${common.libs} ${geronimo-jms}
> tools.libs=${client.libs}
> broker.libs=${common.libs} ${commons-cli} ${commons-logging} ${log4j} \
>
> Added: qpid/trunk/qpid/java/lib/commons-beanutils-core-1.8.0.jar
> URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/lib/commons-beanutils-core-1.8.0.jar?rev=747363&view=auto
> ==============================================================================
> Files qpid/trunk/qpid/java/lib/commons-beanutils-core-1.8.0.jar (added) and qpid/trunk/qpid/java/lib/commons-beanutils-core-1.8.0.jar Tue Feb 24 13:02:30 2009 differ
>
> Added: qpid/trunk/qpid/java/lib/commons-configuration-1.6.jar
> URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/lib/commons-configuration-1.6.jar?rev=747363&view=auto
> ==============================================================================
> Files qpid/trunk/qpid/java/lib/commons-configuration-1.6.jar (added) and qpid/trunk/qpid/java/lib/commons-configuration-1.6.jar Tue Feb 24 13:02:30 2009 differ
>
> Added: qpid/trunk/qpid/java/lib/commons-digester-1.8.1.jar
> URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/lib/commons-digester-1.8.1.jar?rev=747363&view=auto
> ==============================================================================
> Files qpid/trunk/qpid/java/lib/commons-digester-1.8.1.jar (added) and qpid/trunk/qpid/java/lib/commons-digester-1.8.1.jar Tue Feb 24 13:02:30 2009 differ
>
>
>
> ---------------------------------------------------------------------
> Apache Qpid - AMQP Messaging Implementation
> Project: http://qpid.apache.org
> Use/Interact: mailto:commits-subscribe@qpid.apache.org
>
>
--
Apache Qpid - World Domination through Advanced Message Queueing
http://qpid.apache.org
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org