Author: orudyy
Date: Wed Nov 7 09:13:13 2012
New Revision: 1406508
URL: http://svn.apache.org/viewvc?rev=1406508&view=rev
Log:
QPID-4390: WIP - refactor JMX management to distinguish the connector and rmi
ports by protocol instead of names
Modified:
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagement.java
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/store/XMLConfigurationEntryStore.java
Modified:
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagement.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/JMXManagement.java?rev=1406508&r1=1406507&r2=1406508&view=diff
==============================================================================
---
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagement.java
(original)
+++
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagement.java
Wed Nov 7 09:13:13 2012
@@ -52,9 +52,6 @@ public class JMXManagement extends Abstr
{
private static final Logger LOGGER = Logger.getLogger(JMXManagement.class);
- private static final String REGISTRY_PORT_NAME = "registry";
- private static final String CONNECTOR_PORT_NAME = "connector";
-
private final Broker _broker;
private JMXManagedObjectRegistry _objectRegistry;
@@ -103,25 +100,22 @@ public class JMXManagement extends Abstr
Collection<Port> ports = _broker.getPorts();
for (Port port : ports)
{
- if (port.getProtocols().contains(Protocol.JMX_RMI))
+ if(isRegistryPort(port))
{
- if(REGISTRY_PORT_NAME.equals(port.getName()))
- {
- registryPort = port;
- }
- else if(CONNECTOR_PORT_NAME.equals(port.getName()))
- {
- connectorPort = port;
- }
+ registryPort = port;
+ }
+ else if(isConnectorPort(port))
+ {
+ connectorPort = port;
}
}
if(connectorPort == null)
{
- throw new IllegalStateException("No JMX port found with name " +
CONNECTOR_PORT_NAME);
+ throw new IllegalStateException("No JMX connector port found
supporting protocol " + Protocol.JMX_RMI);
}
if(registryPort == null)
{
- throw new IllegalStateException("No JMX port found with name " +
REGISTRY_PORT_NAME);
+ throw new IllegalStateException("No JMX RMI port found supporting
protocol " + Protocol.RMI);
}
_objectRegistry = new JMXManagedObjectRegistry(connectorPort,
registryPort, _jmxConfiguration);
@@ -155,10 +149,19 @@ public class JMXManagement extends Abstr
new Shutdown(_objectRegistry);
new ServerInformationMBean(_objectRegistry, _broker);
new
LoggingManagementMBean(LoggingManagementFacade.getCurrentInstance(),
_objectRegistry);
-
_objectRegistry.start();
}
+ private boolean isConnectorPort(Port port)
+ {
+ return port.getProtocols().contains(Protocol.JMX_RMI);
+ }
+
+ private boolean isRegistryPort(Port port)
+ {
+ return port.getProtocols().contains(Protocol.RMI);
+ }
+
private void stop()
{
synchronized (_children)
@@ -256,7 +259,7 @@ public class JMXManagement extends Abstr
private void createAdditionalMBeansFromProviders(ConfiguredObject child,
AMQManagedObject mbean) throws JMException
{
_children.put(child, mbean);
- // XXX: MBeanProvider does not work at the moment
+
QpidServiceLoader<MBeanProvider> qpidServiceLoader = new
QpidServiceLoader<MBeanProvider>();
for (MBeanProvider provider :
qpidServiceLoader.instancesOf(MBeanProvider.class))
{
Modified:
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/store/XMLConfigurationEntryStore.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/XMLConfigurationEntryStore.java?rev=1406508&r1=1406507&r2=1406508&view=diff
==============================================================================
---
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/store/XMLConfigurationEntryStore.java
(original)
+++
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/store/XMLConfigurationEntryStore.java
Wed Nov 7 09:13:13 2012
@@ -186,25 +186,22 @@ public class XMLConfigurationEntryStore
{
if (serverConfiguration.getHTTPManagementEnabled())
{
- ConfigurationEntry entry =
createManagementHttpPort(serverConfiguration.getHTTPManagementPort(),
Protocol.HTTP,
+ ConfigurationEntry entry =
createManagementPort(serverConfiguration.getHTTPManagementPort(), Protocol.HTTP,
Transport.TCP);
rootChildren.put(entry.getId(), entry);
}
if (serverConfiguration.getHTTPSManagementEnabled())
{
- ConfigurationEntry entry =
createManagementHttpPort(serverConfiguration.getHTTPSManagementPort(),
+ ConfigurationEntry entry =
createManagementPort(serverConfiguration.getHTTPSManagementPort(),
Protocol.HTTPS, Transport.SSL);
rootChildren.put(entry.getId(), entry);
}
if (serverConfiguration.getJMXManagementEnabled())
{
- // XXX: change JMX port to not rely on names
- ConfigurationEntry entryRegistry =
createManagementJmxPort(serverConfiguration.getJMXPortRegistryServer(),
- "registry", Protocol.JMX_RMI, Transport.TCP);
+ ConfigurationEntry entryRegistry =
createManagementPort(serverConfiguration.getJMXPortRegistryServer(),
Protocol.RMI, Transport.TCP);
rootChildren.put(entryRegistry.getId(), entryRegistry);
Transport connectorTransport =
serverConfiguration.getManagementSSLEnabled() ? Transport.SSL : Transport.TCP;
- ConfigurationEntry entryConnector =
createManagementJmxPort(serverConfiguration.getJMXConnectorServerPort(),
- "connector", Protocol.JMX_RMI, connectorTransport);
+ ConfigurationEntry entryConnector =
createManagementPort(serverConfiguration.getJMXConnectorServerPort(),
Protocol.JMX_RMI, connectorTransport);
rootChildren.put(entryConnector.getId(), entryConnector);
}
}
@@ -243,7 +240,7 @@ public class XMLConfigurationEntryStore
}
}
- private ConfigurationEntry createManagementHttpPort(int port, final
Protocol protocol, final Transport transport)
+ private ConfigurationEntry createManagementPort(int port, final Protocol
protocol, final Transport transport)
{
Map<String, Object> attributes = new HashMap<String, Object>();
attributes.put(Port.PROTOCOLS, Collections.singleton(protocol));
@@ -253,21 +250,6 @@ public class XMLConfigurationEntryStore
return new ConfigurationEntry(UUID.randomUUID(),
ConfiguredObjectType.PORT, attributes, null, this);
}
- private ConfigurationEntry createManagementJmxPort(int port, String name,
final Protocol protocol,
- final Transport transport)
- {
- Map<String, Object> attributes = new HashMap<String, Object>();
- // We current use the a special port name to distinguish between the
- // connection/registry servers. We need another 'type' attribute so we
can determine its
- // role.
- attributes.put(Port.NAME, name);
- attributes.put(Port.PROTOCOLS, Collections.singleton(protocol));
- attributes.put(Port.TRANSPORTS, Collections.singleton(transport));
- attributes.put(Port.PORT, port);
- attributes.put(Port.BINDING_ADDRESS, null);
- return new ConfigurationEntry(UUID.randomUUID(),
ConfiguredObjectType.PORT, attributes, null, this);
- }
-
private void createVirtualHostConfig(ServerConfiguration
serverConfiguration, Map<UUID, ConfigurationEntry> rootChildren)
{
for (String name : serverConfiguration.getVirtualHostsNames())
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]