[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