summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Gemmell <robbie@apache.org>2009-12-01 14:22:44 +0000
committerRobert Gemmell <robbie@apache.org>2009-12-01 14:22:44 +0000
commitb6b8b1d803d8dd21ece5969d4ce73fe496330d16 (patch)
tree1485e822861feae71876f0d379dd1d13e077c366
parentec150948e1dbf6279c68cbcdc3289c20e8024a43 (diff)
downloadqpid-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
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java11
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/management/ConfigurationManagementMBean.java2
-rw-r--r--qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java6
-rw-r--r--qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidTestCase.java18
-rw-r--r--qpid/java/systests/src/main/java/org/apache/qpid/util/LogMonitor.java4
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);
}