Author: robbie
Date: Sun Mar 31 21:46:12 2013
New Revision: 1463061
URL: http://svn.apache.org/r1463061
Log:
QPID-4594, QPID-4682: changes from review of new 'management mode' functionality
- Tweak the command line options for the management mode ports to group the
options and make it clear they are only for management mode, and remove a
naming clash with old options that had different behaviour.
- Make the virtualhosts load during management mode, enabling them to normally
be managed as well.
- Add a new command line option to quiesce the virtualhosts during mangement
mode if required.
Modified:
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/BrokerOptions.java
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/Main.java
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/store/ManagementModeStoreHandler.java
qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/BrokerOptionsTest.java
qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/MainTest.java
qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/store/ManagementModeStoreHandlerTest.java
Modified:
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/BrokerOptions.java
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/BrokerOptions.java?rev=1463061&r1=1463060&r2=1463061&view=diff
==============================================================================
---
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/BrokerOptions.java
(original)
+++
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/BrokerOptions.java
Sun Mar 31 21:46:12 2013
@@ -43,6 +43,7 @@ public class BrokerOptions
private String _initialConfigurationLocation;
private boolean _managementMode;
+ private boolean _managementModeQuiesceVhosts;
private int _managementModeRmiPort;
private int _managementModeConnectorPort;
private int _managementModeHttpPort;
@@ -83,6 +84,16 @@ public class BrokerOptions
_managementMode = managementMode;
}
+ public boolean isManagementModeQuiesceVirtualHosts()
+ {
+ return _managementModeQuiesceVhosts;
+ }
+
+ public void setManagementModeQuiesceVirtualHosts(boolean
managementModeQuiesceVhosts)
+ {
+ _managementModeQuiesceVhosts = managementModeQuiesceVhosts;
+ }
+
public int getManagementModeRmiPort()
{
return _managementModeRmiPort;
Modified:
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/Main.java
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/Main.java?rev=1463061&r1=1463060&r2=1463061&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/Main.java
(original)
+++ qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/Main.java
Sun Mar 31 21:46:12 2013
@@ -64,12 +64,14 @@ public class Main
private static final Option OPTION_MANAGEMENT_MODE =
OptionBuilder.withDescription("start broker in a management mode")
.withLongOpt("management-mode").create("mm");
- private static final Option OPTION_RMI_PORT =
OptionBuilder.withArgName("port").hasArg()
- .withDescription("override jmx rmi port in management
mode").withLongOpt("jmxregistryport").create("rmi");
- private static final Option OPTION_CONNECTOR_PORT =
OptionBuilder.withArgName("port").hasArg()
- .withDescription("override jmx connector port in management
mode").withLongOpt("jmxconnectorport").create("jmxrmi");
- private static final Option OPTION_HTTP_PORT =
OptionBuilder.withArgName("port").hasArg()
- .withDescription("override web management port in management
mode").withLongOpt("httpport").create("http");
+ private static final Option OPTION_MM_QUIESCE_VHOST =
OptionBuilder.withDescription("make virtualhosts stay in the quiesced state
during management mode.")
+
.withLongOpt("management-mode-quiesce-virtualhosts").create("mmqv");
+ private static final Option OPTION_MM_RMI_PORT =
OptionBuilder.withArgName("port").hasArg()
+ .withDescription("override jmx rmi registry port in management
mode").withLongOpt("management-mode-rmi-registry-port").create("mmrmi");
+ private static final Option OPTION_MM_CONNECTOR_PORT =
OptionBuilder.withArgName("port").hasArg()
+ .withDescription("override jmx connector port in management
mode").withLongOpt("management-mode-jmx-connector-port").create("mmjmx");
+ private static final Option OPTION_MM_HTTP_PORT =
OptionBuilder.withArgName("port").hasArg()
+ .withDescription("override http management port in management
mode").withLongOpt("management-mode-http-port").create("mmhttp");
private static final Options OPTIONS = new Options();
@@ -83,9 +85,10 @@ public class Main
OPTIONS.addOption(OPTION_LOG_WATCH);
OPTIONS.addOption(OPTION_INITIAL_CONFIGURATION_PATH);
OPTIONS.addOption(OPTION_MANAGEMENT_MODE);
- OPTIONS.addOption(OPTION_RMI_PORT);
- OPTIONS.addOption(OPTION_CONNECTOR_PORT);
- OPTIONS.addOption(OPTION_HTTP_PORT);
+ OPTIONS.addOption(OPTION_MM_QUIESCE_VHOST);
+ OPTIONS.addOption(OPTION_MM_RMI_PORT);
+ OPTIONS.addOption(OPTION_MM_CONNECTOR_PORT);
+ OPTIONS.addOption(OPTION_MM_HTTP_PORT);
}
protected CommandLine _commandLine;
@@ -200,21 +203,26 @@ public class Main
if (managmentMode)
{
options.setManagementMode(true);
- String rmiPort =
_commandLine.getOptionValue(OPTION_RMI_PORT.getOpt());
+ String rmiPort =
_commandLine.getOptionValue(OPTION_MM_RMI_PORT.getOpt());
if (rmiPort != null)
{
options.setManagementModeRmiPort(Integer.parseInt(rmiPort));
}
- String connectorPort =
_commandLine.getOptionValue(OPTION_CONNECTOR_PORT.getOpt());
+ String connectorPort =
_commandLine.getOptionValue(OPTION_MM_CONNECTOR_PORT.getOpt());
if (connectorPort != null)
{
options.setManagementModeConnectorPort(Integer.parseInt(connectorPort));
}
- String httpPort =
_commandLine.getOptionValue(OPTION_HTTP_PORT.getOpt());
+ String httpPort =
_commandLine.getOptionValue(OPTION_MM_HTTP_PORT.getOpt());
if (httpPort != null)
{
options.setManagementModeHttpPort(Integer.parseInt(httpPort));
}
+ boolean quiesceVhosts =
_commandLine.hasOption(OPTION_MM_QUIESCE_VHOST.getOpt());
+ if (quiesceVhosts)
+ {
+ options.setManagementModeQuiesceVirtualHosts(true);
+ }
}
setExceptionHandler();
Modified:
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/store/ManagementModeStoreHandler.java
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/store/ManagementModeStoreHandler.java?rev=1463061&r1=1463060&r2=1463061&view=diff
==============================================================================
---
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/store/ManagementModeStoreHandler.java
(original)
+++
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/store/ManagementModeStoreHandler.java
Sun Mar 31 21:46:12 2013
@@ -244,7 +244,7 @@ public class ManagementModeStoreHandler
String entryType = entry.getType();
Map<String, Object> attributes = entry.getAttributes();
boolean quiesce = false;
- if (VIRTUAL_HOST_TYPE.equals(entryType))
+ if (VIRTUAL_HOST_TYPE.equals(entryType) &&
options.isManagementModeQuiesceVirtualHosts())
{
quiesce = true;
}
Modified:
qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/BrokerOptionsTest.java
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/BrokerOptionsTest.java?rev=1463061&r1=1463060&r2=1463061&view=diff
==============================================================================
---
qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/BrokerOptionsTest.java
(original)
+++
qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/BrokerOptionsTest.java
Sun Mar 31 21:46:12 2013
@@ -129,6 +129,17 @@ public class BrokerOptionsTest extends Q
assertEquals(true, _options.isManagementMode());
}
+ public void testDefaultManagementModeQuiesceVirtualHosts()
+ {
+ assertEquals(false, _options.isManagementModeQuiesceVirtualHosts());
+ }
+
+ public void testOverriddenDefaultManagementModeQuiesceVirtualHosts()
+ {
+ _options.setManagementModeQuiesceVirtualHosts(true);
+ assertEquals(true, _options.isManagementModeQuiesceVirtualHosts());
+ }
+
public void testDefaultManagementModeRmiPort()
{
assertEquals(0, _options.getManagementModeRmiPort());
Modified:
qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/MainTest.java
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/MainTest.java?rev=1463061&r1=1463060&r2=1463061&view=diff
==============================================================================
---
qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/MainTest.java
(original)
+++
qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/MainTest.java
Sun Mar 31 21:46:12 2013
@@ -122,43 +122,43 @@ public class MainTest extends QpidTestCa
public void testManagementModeRmiPort()
{
- BrokerOptions options = startDummyMain("-mm -rmi 7777");
+ BrokerOptions options = startDummyMain("-mm -mmrmi 7777");
assertTrue(options.isManagementMode());
assertEquals(7777, options.getManagementModeRmiPort());
- options = startDummyMain("-mm --jmxregistryport 7777");
+ options = startDummyMain("-mm --management-mode-rmi-registry-port
7777");
assertTrue(options.isManagementMode());
assertEquals(7777, options.getManagementModeRmiPort());
- options = startDummyMain("-rmi 7777");
+ options = startDummyMain("-mmrmi 7777");
assertEquals(0, options.getManagementModeRmiPort());
}
public void testManagementModeConnectorPort()
{
- BrokerOptions options = startDummyMain("-mm -jmxrmi 8888");
+ BrokerOptions options = startDummyMain("-mm -mmjmx 8888");
assertTrue(options.isManagementMode());
assertEquals(8888, options.getManagementModeConnectorPort());
- options = startDummyMain("-mm --jmxconnectorport 8888");
+ options = startDummyMain("-mm --management-mode-jmx-connector-port
8888");
assertTrue(options.isManagementMode());
assertEquals(8888, options.getManagementModeConnectorPort());
- options = startDummyMain("-jmxrmi 8888");
+ options = startDummyMain("-mmjmx 8888");
assertEquals(0, options.getManagementModeConnectorPort());
}
public void testManagementModeHttpPort()
{
- BrokerOptions options = startDummyMain("-mm -http 9999");
+ BrokerOptions options = startDummyMain("-mm -mmhttp 9999");
assertTrue(options.isManagementMode());
assertEquals(9999, options.getManagementModeHttpPort());
- options = startDummyMain("-mm --httpport 9999");
+ options = startDummyMain("-mm --management-mode-http-port 9999");
assertTrue(options.isManagementMode());
assertEquals(9999, options.getManagementModeHttpPort());
- options = startDummyMain("-http 9999");
+ options = startDummyMain("-mmhttp 9999");
assertEquals(0, options.getManagementModeHttpPort());
}
Modified:
qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/store/ManagementModeStoreHandlerTest.java
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/store/ManagementModeStoreHandlerTest.java?rev=1463061&r1=1463060&r2=1463061&view=diff
==============================================================================
---
qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/store/ManagementModeStoreHandlerTest.java
(original)
+++
qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/store/ManagementModeStoreHandlerTest.java
Sun Mar 31 21:46:12 2013
@@ -176,7 +176,17 @@ public class ManagementModeStoreHandlerT
assertEquals("Unexpected state", State.QUIESCED,
portEntry.getAttributes().get(Port.STATE));
}
- public void testVirtualHostEntryIsQuiesced()
+ public void testVirtualHostEntryIsNotQuiescedByDefault()
+ {
+ virtualHostEntryQuiescedStatusTestImpl(false);
+ }
+
+ public void testVirtualHostEntryIsQuiescedWhenRequested()
+ {
+ virtualHostEntryQuiescedStatusTestImpl(true);
+ }
+
+ private void virtualHostEntryQuiescedStatusTestImpl(boolean
mmQuiesceVhosts)
{
UUID virtualHostId = UUID.randomUUID();
ConfigurationEntry virtualHost = mock(ConfigurationEntry.class);
@@ -188,11 +198,17 @@ public class ManagementModeStoreHandlerT
when(_store.getEntry(virtualHostId)).thenReturn(virtualHost);
when(_root.getChildrenIds()).thenReturn(new
HashSet<UUID>(Arrays.asList(_portEntryId, virtualHostId)));
+ State expectedState = mmQuiesceVhosts ? State.QUIESCED : null;
+ if(mmQuiesceVhosts)
+ {
+ _options.setManagementModeQuiesceVirtualHosts(mmQuiesceVhosts);
+ }
+
_handler = new ManagementModeStoreHandler(_store, _options);
ConfigurationEntry hostEntry = _handler.getEntry(virtualHostId);
Map<String, Object> hostAttributes = hostEntry.getAttributes();
- assertEquals("Unexpected state", State.QUIESCED,
hostAttributes.get(VirtualHost.STATE));
+ assertEquals("Unexpected state", expectedState,
hostAttributes.get(VirtualHost.STATE));
hostAttributes.remove(VirtualHost.STATE);
assertEquals("Unexpected attributes", attributes, hostAttributes);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]