diff options
author | Robert Gemmell <robbie@apache.org> | 2009-12-01 14:22:44 +0000 |
---|---|---|
committer | Robert Gemmell <robbie@apache.org> | 2009-12-01 14:22:44 +0000 |
commit | b6b8b1d803d8dd21ece5969d4ce73fe496330d16 (patch) | |
tree | 1485e822861feae71876f0d379dd1d13e077c366 | |
parent | ec150948e1dbf6279c68cbcdc3289c20e8024a43 (diff) | |
download | qpid-python-b6b8b1d803d8dd21ece5969d4ce73fe496330d16.tar.gz |
QPID-2184: replace random 1second wait with a LogMonitor check that the reload has occured. Also update some method and paramter names
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@885765 13f79535-47bb-0310-9956-ffa450edef68
5 files changed, 20 insertions, 21 deletions
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java index 441369d064..66a7279134 100644 --- a/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java +++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java @@ -57,7 +57,8 @@ public class ServerConfiguration implements SignalHandler public static final int DEFAULT_BUFFER_WRITE_LIMIT_SIZE = 262144; public static final boolean DEFAULT_BROKER_CONNECTOR_PROTECTIO_ENABLED = false; public static final String DEFAULT_STATUS_UPDATES = "on"; - + public static final String SECURITY_CONFIG_RELOADED = "SECURITY CONFIGURATION RELOADED"; + private static final int DEFAULT_FRAME_SIZE = 65536; private static final int DEFAULT_PORT = 5672; private static final int DEFAUL_SSL_PORT = 8672; @@ -297,15 +298,15 @@ public class ServerConfiguration implements SignalHandler { try { - reparseConfigFile(); + reparseConfigFileSecuritySections(); } catch (ConfigurationException e) { - _log.error("Could not reload configuration file", e); + _log.error("Could not reload configuration file security sections", e); } } - public void reparseConfigFile() throws ConfigurationException + public void reparseConfigFileSecuritySections() throws ConfigurationException { if (_configFile != null) { @@ -320,6 +321,8 @@ public class ServerConfiguration implements SignalHandler vhost.getAccessManager().configureGlobalPlugins(_securityConfiguration); vhost.getAccessManager().configureHostPlugins(hostSecurityConfig); } + + _log.warn(SECURITY_CONFIG_RELOADED); } } diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/management/ConfigurationManagementMBean.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/management/ConfigurationManagementMBean.java index 9954719866..24f8e8878e 100644 --- a/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/management/ConfigurationManagementMBean.java +++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/management/ConfigurationManagementMBean.java @@ -42,7 +42,7 @@ public class ConfigurationManagementMBean extends AMQManagedObject implements Co public void reloadSecurityConfiguration() throws Exception { - ApplicationRegistry.getInstance().getConfiguration().reparseConfigFile(); + ApplicationRegistry.getInstance().getConfiguration().reparseConfigFileSecuritySections(); } } diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java index 23041061be..89b825b270 100644 --- a/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java +++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java @@ -877,7 +877,7 @@ public class ServerConfigurationTest extends TestCase // Switch to deny the connection writeConfigFile(mainFile, true); - reg.getConfiguration().reparseConfigFile(); + reg.getConfiguration().reparseConfigFileSecuritySections(); assertTrue(reg.getAccessManager().authoriseConnect(session, virtualHost)); @@ -995,7 +995,7 @@ public class ServerConfigurationTest extends TestCase out.write("</firewall>\n"); out.close(); - reg.getConfiguration().reparseConfigFile(); + reg.getConfiguration().reparseConfigFileSecuritySections(); assertTrue(reg.getAccessManager().authoriseConnect(session, virtualHost)); @@ -1010,7 +1010,7 @@ public class ServerConfigurationTest extends TestCase out.write("</firewall>\n"); out.close(); - reg.getConfiguration().reparseConfigFile(); + reg.getConfiguration().reparseConfigFileSecuritySections(); assertFalse(reg.getAccessManager().authoriseConnect(session, virtualHost)); } diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidTestCase.java b/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidTestCase.java index 7f43a3ee68..5e209e69d6 100644 --- a/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidTestCase.java +++ b/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidTestCase.java @@ -34,6 +34,7 @@ import org.apache.qpid.server.registry.ApplicationRegistry; import org.apache.qpid.server.registry.ConfigurationFileApplicationRegistry; import org.apache.qpid.server.store.DerbyMessageStore; import org.apache.qpid.url.URLSyntaxException; +import org.apache.qpid.util.LogMonitor; import org.apache.log4j.Level; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -76,7 +77,8 @@ public class QpidTestCase extends TestCase protected File _configFile = new File(System.getProperty("broker.config")); protected static final Logger _logger = LoggerFactory.getLogger(QpidTestCase.class); - + protected static final int LOGMONITOR_TIMEOUT = 5000; + protected long RECEIVE_TIMEOUT = 1000l; private Map<String, String> _propertiesSetForTestOnly = new HashMap<String, String>(); @@ -1251,7 +1253,7 @@ public class QpidTestCase extends TestCase { if (_broker.equals(VM)) { - ApplicationRegistry.getInstance().getConfiguration().reparseConfigFile(); + ApplicationRegistry.getInstance().getConfiguration().reparseConfigFileSecuritySections(); } else // FIXME: should really use the JMX interface to do this { @@ -1264,15 +1266,9 @@ public class QpidTestCase extends TestCase String cmd = "/bin/kill -SIGHUP " + reader.readLine(); p = Runtime.getRuntime().exec(cmd); - //delay to ensure the reload time has time to occur - try - { - Thread.sleep(1000); - } - catch (InterruptedException e) - { - //ignore - } + LogMonitor _monitor = new LogMonitor(_outputFile); + assertTrue("The expected server security configuration reload did not occur", + _monitor.waitForMessage(ServerConfiguration.SECURITY_CONFIG_RELOADED, LOGMONITOR_TIMEOUT)); } } diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/util/LogMonitor.java b/qpid/java/systests/src/main/java/org/apache/qpid/util/LogMonitor.java index 44ac5b4838..7d55c68b75 100644 --- a/qpid/java/systests/src/main/java/org/apache/qpid/util/LogMonitor.java +++ b/qpid/java/systests/src/main/java/org/apache/qpid/util/LogMonitor.java @@ -151,9 +151,9 @@ public class LogMonitor } - public boolean waitForMessage(String messageCountAlert, long alertLogWaitPeriod) throws FileNotFoundException, IOException + public boolean waitForMessage(String message, long alertLogWaitPeriod) throws FileNotFoundException, IOException { - return waitForMessage(messageCountAlert, alertLogWaitPeriod, true); + return waitForMessage(message, alertLogWaitPeriod, true); } |