[jboss-cvs] JBossAS SVN: r91451 - in projects/ejb3/trunk/metrics-deployer: src/main/java/org/jboss/ejb3/metrics/deployer and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Jul 20 17:33:30 EDT 2009


Author: ALRubinger
Date: 2009-07-20 17:33:30 -0400 (Mon, 20 Jul 2009)
New Revision: 91451

Added:
   projects/ejb3/trunk/metrics-deployer/src/main/java/org/jboss/ejb3/metrics/deployer/ManagedMetricsWrapperBase.java
Modified:
   projects/ejb3/trunk/metrics-deployer/pom.xml
   projects/ejb3/trunk/metrics-deployer/src/main/java/org/jboss/ejb3/metrics/deployer/BasicMessageDrivenMetrics.java
   projects/ejb3/trunk/metrics-deployer/src/main/java/org/jboss/ejb3/metrics/deployer/InvocationStatisticMetaMapper.java
   projects/ejb3/trunk/metrics-deployer/src/main/java/org/jboss/ejb3/metrics/deployer/ManagedSessionMetricsWrapperBase.java
Log:
[EJBTHREE-1874] Include InvocationStatistics in the MDB @ManagementObject view

Modified: projects/ejb3/trunk/metrics-deployer/pom.xml
===================================================================
--- projects/ejb3/trunk/metrics-deployer/pom.xml	2009-07-20 21:24:39 UTC (rev 91450)
+++ projects/ejb3/trunk/metrics-deployer/pom.xml	2009-07-20 21:33:30 UTC (rev 91451)
@@ -28,7 +28,7 @@
   
     <!-- Versioning -->
     <version.org.jboss.deployers.jboss_deployers_spi>2.0.7.GA</version.org.jboss.deployers.jboss_deployers_spi>
-    <version.org.jboss.ejb3_jboss.ejb3.core>1.1.6</version.org.jboss.ejb3_jboss.ejb3.core>
+    <version.org.jboss.ejb3_jboss.ejb3.core>1.1.10-SNAPSHOT</version.org.jboss.ejb3_jboss.ejb3.core>
     <version.org.jboss.man_jboss.managed>2.1.0.SP1</version.org.jboss.man_jboss.managed>
     <version.org.jboss.microcontainer_jboss.jmx.mc.int>2.2.0.M2</version.org.jboss.microcontainer_jboss.jmx.mc.int>
   

Modified: projects/ejb3/trunk/metrics-deployer/src/main/java/org/jboss/ejb3/metrics/deployer/BasicMessageDrivenMetrics.java
===================================================================
--- projects/ejb3/trunk/metrics-deployer/src/main/java/org/jboss/ejb3/metrics/deployer/BasicMessageDrivenMetrics.java	2009-07-20 21:24:39 UTC (rev 91450)
+++ projects/ejb3/trunk/metrics-deployer/src/main/java/org/jboss/ejb3/metrics/deployer/BasicMessageDrivenMetrics.java	2009-07-20 21:33:30 UTC (rev 91451)
@@ -45,7 +45,7 @@
  * @version $Revision: $
  */
 @ManagementObject(isRuntime = true, properties = ManagementProperties.EXPLICIT, description = "Message-Driven Instance Metrics", componentType = @ManagementComponent(type = "EJB3", subtype = "MessageDriven"))
-public class BasicMessageDrivenMetrics implements MessagingDelegateWrapperMBean
+public class BasicMessageDrivenMetrics extends ManagedMetricsWrapperBase implements MessagingDelegateWrapperMBean
 {
 
    // --------------------------------------------------------------------------------||
@@ -69,6 +69,9 @@
     */
    public BasicMessageDrivenMetrics(final MessagingContainer mdb) throws IllegalArgumentException
    {
+      // Invoke super
+      super(mdb.getInvokeStats());
+
       // Precondition check
       if (mdb == null)
       {

Modified: projects/ejb3/trunk/metrics-deployer/src/main/java/org/jboss/ejb3/metrics/deployer/InvocationStatisticMetaMapper.java
===================================================================
--- projects/ejb3/trunk/metrics-deployer/src/main/java/org/jboss/ejb3/metrics/deployer/InvocationStatisticMetaMapper.java	2009-07-20 21:24:39 UTC (rev 91450)
+++ projects/ejb3/trunk/metrics-deployer/src/main/java/org/jboss/ejb3/metrics/deployer/InvocationStatisticMetaMapper.java	2009-07-20 21:33:30 UTC (rev 91451)
@@ -156,11 +156,11 @@
       // Make the method map from the stats
       final Map<String, MetaValue> methodMap = new HashMap<String, MetaValue>();
       @SuppressWarnings("unchecked")
-      final Map<Method, TimeStatistic> stats = (Map<Method, TimeStatistic>) object.getStats();
+      final Map<String, TimeStatistic> stats = (Map<String, TimeStatistic>) object.getStats();
       if (stats != null)
       {
-         final Set<Method> methods = stats.keySet();
-         for (final Method method : methods)
+         final Set<String> methods = stats.keySet();
+         for (final String method : methods)
          {
             // Get the underlying time stat for this method
             final TimeStatistic stat = stats.get(method);
@@ -173,8 +173,7 @@
             cvs.put(PROP_NAME_METHODSTATS_TOTALTIME, SimpleValueSupport.wrap(stat.totalTime));
 
             // Add the stat to the method map
-            final String methodName = method.getName();
-            methodMap.put(methodName, cvs);
+            methodMap.put(method, cvs);
          }
       }
 

Added: projects/ejb3/trunk/metrics-deployer/src/main/java/org/jboss/ejb3/metrics/deployer/ManagedMetricsWrapperBase.java
===================================================================
--- projects/ejb3/trunk/metrics-deployer/src/main/java/org/jboss/ejb3/metrics/deployer/ManagedMetricsWrapperBase.java	                        (rev 0)
+++ projects/ejb3/trunk/metrics-deployer/src/main/java/org/jboss/ejb3/metrics/deployer/ManagedMetricsWrapperBase.java	2009-07-20 21:33:30 UTC (rev 91451)
@@ -0,0 +1,121 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2009, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+  *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ejb3.metrics.deployer;
+
+import org.jboss.ejb3.statistics.InvocationStatistics;
+import org.jboss.managed.api.annotation.ManagementOperation;
+import org.jboss.managed.api.annotation.ManagementProperty;
+import org.jboss.managed.api.annotation.ViewUse;
+import org.jboss.metatype.api.annotations.MetaMapping;
+
+/**
+ * ManagedMetricsWrapperBase
+ * 
+ * Base class to to delegate to the underlying invocation stats, 
+ * exposing management properties and operations.
+ *
+ * @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
+ * @version $Revision: $
+ */
+// Must be public so ProfileService can pick up on annotations
+public abstract class ManagedMetricsWrapperBase
+{
+   // --------------------------------------------------------------------------------||
+   // Instance Members ---------------------------------------------------------------||
+   // --------------------------------------------------------------------------------||
+
+   /**
+    * The delegate
+    */
+   private InvocationStatistics invocationStats;
+
+   // --------------------------------------------------------------------------------||
+   // Constructor --------------------------------------------------------------------||
+   // --------------------------------------------------------------------------------||
+
+   /**
+    * Constructor
+    * 
+    * @param invocationStats
+    * @throws IllegalArgumentException If the stats were not specified
+    */
+   ManagedMetricsWrapperBase(final InvocationStatistics invocationStats) throws IllegalArgumentException
+   {
+      // Precondition check
+      if (invocationStats == null)
+      {
+         throw new IllegalArgumentException("Supplied invocation stats was null");
+      }
+
+      // Set properties
+      this.setInvocationStats(invocationStats);
+   }
+
+   // --------------------------------------------------------------------------------||
+   // Delegate Methods ---------------------------------------------------------------||
+   // --------------------------------------------------------------------------------||
+
+   /**
+    * @return
+    * @see org.jboss.ejb3.statistics.InvocationStatistics#getStats()
+    */
+   @ManagementProperty(readOnly = true, use = ViewUse.STATISTIC)
+   @MetaMapping(value = InvocationStatisticMetaMapper.class)
+   public InvocationStatistics getInvocationStats()
+   {
+      return invocationStats;
+   }
+
+   /**
+    * 
+    * @see org.jboss.ejb3.statistics.InvocationStatistics#resetStats()
+    */
+   @ManagementOperation
+   public void resetInvocationStats()
+   {
+      invocationStats.resetStats();
+   }
+
+   /**
+    * Exposes the time, represented in milliseconds since the epoch, 
+    * that the stats were last reset
+    * @return
+    */
+   @ManagementProperty(readOnly = true, use = ViewUse.STATISTIC)
+   public long getInvocationStatsLastResetTime()
+   {
+      return invocationStats.lastResetTime;
+   }
+
+   // --------------------------------------------------------------------------------||
+   // Accessors / Mutators -----------------------------------------------------------||
+   // --------------------------------------------------------------------------------||
+
+   /**
+    * @param invocationStats the stats to set
+    */
+   private void setInvocationStats(final InvocationStatistics invocationStats)
+   {
+      this.invocationStats = invocationStats;
+   }
+
+}

Modified: projects/ejb3/trunk/metrics-deployer/src/main/java/org/jboss/ejb3/metrics/deployer/ManagedSessionMetricsWrapperBase.java
===================================================================
--- projects/ejb3/trunk/metrics-deployer/src/main/java/org/jboss/ejb3/metrics/deployer/ManagedSessionMetricsWrapperBase.java	2009-07-20 21:24:39 UTC (rev 91450)
+++ projects/ejb3/trunk/metrics-deployer/src/main/java/org/jboss/ejb3/metrics/deployer/ManagedSessionMetricsWrapperBase.java	2009-07-20 21:33:30 UTC (rev 91451)
@@ -23,10 +23,8 @@
 
 import org.jboss.ejb3.session.SessionContainer;
 import org.jboss.ejb3.statistics.InvocationStatistics;
-import org.jboss.managed.api.annotation.ManagementOperation;
 import org.jboss.managed.api.annotation.ManagementProperty;
 import org.jboss.managed.api.annotation.ViewUse;
-import org.jboss.metatype.api.annotations.MetaMapping;
 
 /**
  * ManagedSessionMetricsWrapperBase
@@ -37,7 +35,8 @@
  * @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
  * @version $Revision: $
  */
-public abstract class ManagedSessionMetricsWrapperBase
+//Must be public so ProfileService can pick up on annotations
+public abstract class ManagedSessionMetricsWrapperBase extends ManagedMetricsWrapperBase
 {
    // --------------------------------------------------------------------------------||
    // Instance Members ---------------------------------------------------------------||
@@ -48,11 +47,6 @@
     */
    private SessionContainer container;
 
-   /**
-    * The delegate
-    */
-   private InvocationStatistics invocationStats;
-
    // --------------------------------------------------------------------------------||
    // Constructor --------------------------------------------------------------------||
    // --------------------------------------------------------------------------------||
@@ -62,11 +56,14 @@
     * 
     * @param container
     * @param invocationStats
-    * @throws IllegalArgumentException If the stats or EJB Name were not supplied
+    * @throws IllegalArgumentException If the stats or container were not supplied
     */
    ManagedSessionMetricsWrapperBase(final SessionContainer container, final InvocationStatistics invocationStats)
          throws IllegalArgumentException
    {
+      // Invoke super
+      super(invocationStats);
+
       // Precondition check
       if (invocationStats == null)
       {
@@ -78,7 +75,6 @@
       }
 
       // Set properties
-      this.setInvocationStats(invocationStats);
       this.setContainer(container);
    }
 
@@ -87,38 +83,6 @@
    // --------------------------------------------------------------------------------||
 
    /**
-    * @return
-    * @see org.jboss.ejb3.statistics.InvocationStatistics#getStats()
-    */
-   @ManagementProperty(readOnly = true, use = ViewUse.STATISTIC)
-   @MetaMapping(value = InvocationStatisticMetaMapper.class)
-   public InvocationStatistics getInvocationStats()
-   {
-      return invocationStats;
-   }
-
-   /**
-    * 
-    * @see org.jboss.ejb3.statistics.InvocationStatistics#resetStats()
-    */
-   @ManagementOperation
-   public void resetInvocationStats()
-   {
-      invocationStats.resetStats();
-   }
-
-   /**
-    * Exposes the time, represented in milliseconds since the epoch, 
-    * that the stats were last reset
-    * @return
-    */
-   @ManagementProperty(readOnly = true, use = ViewUse.STATISTIC)
-   public long getInvocationStatsLastResetTime()
-   {
-      return invocationStats.lastResetTime;
-   }
-
-   /**
     * Returns the EJB Name
     * @return
     */
@@ -171,14 +135,6 @@
    // --------------------------------------------------------------------------------||
 
    /**
-    * @param invocationStats the stats to set
-    */
-   private void setInvocationStats(final InvocationStatistics invocationStats)
-   {
-      this.invocationStats = invocationStats;
-   }
-
-   /**
     * @param container The underlying Session Container
     */
    private void setContainer(final SessionContainer container)




More information about the jboss-cvs-commits mailing list