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]

Reply via email to