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]