Author: robbie
Date: Tue Apr 24 15:27:45 2012
New Revision: 1329786

URL: http://svn.apache.org/viewvc?rev=1329786&view=rev
Log:
NO-JIRA: Implemented Server Information MBean in jmx plugin

Added:
    
qpid/branches/java-config-and-management/qpid/java/broker-plugins/jmx/src/main/java/org/apache/qpid/server/jmx/mbeans/ServerInformationMBean.java
Modified:
    
qpid/branches/java-config-and-management/qpid/java/broker-plugins/jmx/src/main/java/org/apache/qpid/server/jmx/JMXService.java
    
qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/StatisticsAdapter.java
    
qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java

Modified: 
qpid/branches/java-config-and-management/qpid/java/broker-plugins/jmx/src/main/java/org/apache/qpid/server/jmx/JMXService.java
URL: 
http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker-plugins/jmx/src/main/java/org/apache/qpid/server/jmx/JMXService.java?rev=1329786&r1=1329785&r2=1329786&view=diff
==============================================================================
--- 
qpid/branches/java-config-and-management/qpid/java/broker-plugins/jmx/src/main/java/org/apache/qpid/server/jmx/JMXService.java
 (original)
+++ 
qpid/branches/java-config-and-management/qpid/java/broker-plugins/jmx/src/main/java/org/apache/qpid/server/jmx/JMXService.java
 Tue Apr 24 15:27:45 2012
@@ -21,12 +21,18 @@
 
 package org.apache.qpid.server.jmx;
 
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.management.JMException;
+
 import org.apache.commons.configuration.ConfigurationException;
 import org.apache.qpid.AMQException;
 import org.apache.qpid.server.jmx.mbeans.ConfigurationManagementMBean;
-import org.apache.qpid.server.jmx.mbeans.VirtualHostMBean;
+import org.apache.qpid.server.jmx.mbeans.ServerInformationMBean;
 import org.apache.qpid.server.jmx.mbeans.Shutdown;
-
+import org.apache.qpid.server.jmx.mbeans.VirtualHostMBean;
 import org.apache.qpid.server.logging.SystemOutMessageLogger;
 import org.apache.qpid.server.logging.actors.AbstractActor;
 import org.apache.qpid.server.logging.actors.CurrentActor;
@@ -37,16 +43,12 @@ import org.apache.qpid.server.model.Stat
 import org.apache.qpid.server.model.VirtualHost;
 import org.apache.qpid.server.registry.ApplicationRegistry;
 
-import javax.management.JMException;
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.Map;
-
 public class JMXService implements ConfigurationChangeListener
 {
     private final Broker _broker;
     private final JMXManagedObjectRegistry _objectRegistry;
     private final Shutdown _shutdown;
+    private final ServerInformationMBean _serverInfo;
     private final ConfigurationManagementMBean _configManagement;
 
     private final Map<ConfiguredObject, AMQManagedObject> _children =
@@ -80,6 +82,7 @@ public class JMXService implements Confi
             }
         }
         _shutdown = new Shutdown(_objectRegistry);
+        _serverInfo = new ServerInformationMBean(_objectRegistry, _broker);
         _configManagement = new ConfigurationManagementMBean(_objectRegistry);
     }
     

Added: 
qpid/branches/java-config-and-management/qpid/java/broker-plugins/jmx/src/main/java/org/apache/qpid/server/jmx/mbeans/ServerInformationMBean.java
URL: 
http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker-plugins/jmx/src/main/java/org/apache/qpid/server/jmx/mbeans/ServerInformationMBean.java?rev=1329786&view=auto
==============================================================================
--- 
qpid/branches/java-config-and-management/qpid/java/broker-plugins/jmx/src/main/java/org/apache/qpid/server/jmx/mbeans/ServerInformationMBean.java
 (added)
+++ 
qpid/branches/java-config-and-management/qpid/java/broker-plugins/jmx/src/main/java/org/apache/qpid/server/jmx/mbeans/ServerInformationMBean.java
 Tue Apr 24 15:27:45 2012
@@ -0,0 +1,93 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.qpid.server.jmx.mbeans;
+
+import java.io.IOException;
+
+import javax.management.JMException;
+import javax.management.NotCompliantMBeanException;
+
+import org.apache.qpid.common.QpidProperties;
+import org.apache.qpid.management.common.mbeans.ServerInformation;
+import org.apache.qpid.management.common.mbeans.annotations.MBeanDescription;
+import org.apache.qpid.server.jmx.ManagedObject;
+import org.apache.qpid.server.jmx.ManagedObjectRegistry;
+import org.apache.qpid.server.model.Broker;
+
+@MBeanDescription("Server Information Interface")
+public class ServerInformationMBean extends 
AbstractStatisticsGatheringMBean<Broker> implements ServerInformation
+{
+    private String _buildVersion;
+    private String _productVersion;
+
+    public ServerInformationMBean(ManagedObjectRegistry registry, Broker 
broker) 
+                                                    throws 
NotCompliantMBeanException, JMException
+    {
+        super(ServerInformation.class, ServerInformation.TYPE, registry, 
broker);
+
+        _buildVersion = QpidProperties.getBuildVersion();
+        _productVersion = QpidProperties.getReleaseVersion();
+
+        register();
+    }
+
+    @Override
+    public String getObjectInstanceName()
+    {
+        return ServerInformation.TYPE;
+    }
+
+    @Override
+    public Integer getManagementApiMajorVersion() throws IOException
+    {
+        return QPID_JMX_API_MAJOR_VERSION;
+    }
+
+    @Override
+    public Integer getManagementApiMinorVersion() throws IOException
+    {
+        return QPID_JMX_API_MINOR_VERSION;
+    }
+
+    @Override
+    public String getBuildVersion() throws IOException
+    {
+        return _buildVersion;
+    }
+
+    @Override
+    public String getProductVersion() throws IOException
+    {
+        return _productVersion;
+    }
+
+    @Override
+    public boolean isStatisticsEnabled()
+    {
+        return false;
+    }
+
+    @Override
+    public ManagedObject getParentObject()
+    {
+        // does not have a parent
+        return null;
+    }
+}

Modified: 
qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/StatisticsAdapter.java
URL: 
http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/StatisticsAdapter.java?rev=1329786&r1=1329785&r2=1329786&view=diff
==============================================================================
--- 
qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/StatisticsAdapter.java
 (original)
+++ 
qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/StatisticsAdapter.java
 Tue Apr 24 15:27:45 2012
@@ -42,12 +42,12 @@ class StatisticsAdapter implements Stati
 
     
 
-    public StatisticsAdapter(StatisticsGatherer applicationRegistry)
+    public StatisticsAdapter(StatisticsGatherer statGatherer)
     {
-        _statistics.put(BYTES_OUT, 
applicationRegistry.getDataDeliveryStatistics());
-        _statistics.put(BYTES_IN, 
applicationRegistry.getDataReceiptStatistics());
-        _statistics.put(MESSAGES_OUT, 
applicationRegistry.getMessageDeliveryStatistics());
-        _statistics.put(MESSAGES_IN, 
applicationRegistry.getMessageReceiptStatistics());
+        _statistics.put(BYTES_OUT, statGatherer.getDataDeliveryStatistics());
+        _statistics.put(BYTES_IN, statGatherer.getDataReceiptStatistics());
+        _statistics.put(MESSAGES_OUT, 
statGatherer.getMessageDeliveryStatistics());
+        _statistics.put(MESSAGES_IN, 
statGatherer.getMessageReceiptStatistics());
     }
 
     

Modified: 
qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java
URL: 
http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java?rev=1329786&r1=1329785&r2=1329786&view=diff
==============================================================================
--- 
qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java
 (original)
+++ 
qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java
 Tue Apr 24 15:27:45 2012
@@ -217,9 +217,6 @@ public abstract class ApplicationRegistr
         system.addBroker(brokerConfig);
         instance.setBrokerConfig(brokerConfig);
 
-        final Broker brokerAdapter = new BrokerAdapter(instance);
-        instance.setBroker(brokerAdapter);
-
         try
         {
             instance.initialise();
@@ -317,6 +314,9 @@ public abstract class ApplicationRegistr
 
         try
         {
+            initialiseStatistics();
+            _broker = new BrokerAdapter(this);
+
             initialiseManagedObjectRegistry();
 
             configure();
@@ -340,7 +340,6 @@ public abstract class ApplicationRegistr
         try
         {
             initialiseVirtualHosts();
-            initialiseStatistics();
             initialiseStatisticsReporting();
         }
         finally
@@ -781,11 +780,6 @@ public abstract class ApplicationRegistr
         
logActor.message(BrokerMessages.MAX_MEMORY(Runtime.getRuntime().maxMemory()));
     }
 
-    public void setBroker(final Broker broker)
-    {
-        _broker = broker;
-    }
-
     public Broker getBroker()
     {
         return _broker;



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to