From: Andreas S. <sch...@us...> - 2002-08-25 23:13:39
|
User: schaefera Date: 02/08/25 16:13:38 Modified: src/main/org/jboss/management/j2ee BoundaryStatistic.java BoundedRangeStatistic.java CountStatistic.java EJB.java EntityBean.java MBean.java MessageDrivenBean.java RangeStatistic.java SampleData.java SessionBean.java StatefulSessionBean.java StatelessSessionBean.java Added: src/main/org/jboss/management/j2ee EJBStats.java EntityBeanStats.java MessageDrivenBeanStats.java SessionBeanStats.java StatefulSessionBeanStats.java StatelessSessionBeanStats.java Stats.java Log: Added the new Statistics Retrieval on EJBs for JSR-77. For know only BMP Entity Beans are delivering statistical data. I also removed the "jmx-html-adaptor.sar" because it is history. Revision Changes Path 1.2 +20 -15 jboss-management/src/main/org/jboss/management/j2ee/BoundaryStatistic.java Index: BoundaryStatistic.java =================================================================== RCS file: /cvsroot/jboss/jboss-management/src/main/org/jboss/management/j2ee/BoundaryStatistic.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- BoundaryStatistic.java 3 May 2002 14:15:23 -0000 1.1 +++ BoundaryStatistic.java 25 Aug 2002 23:13:38 -0000 1.2 @@ -7,12 +7,12 @@ package org.jboss.management.j2ee; /** -* This class is the JBoss specific Boundary Statistics class allowing -* just to increase and reset the instance. -* -* @author <a href="mailto:mc...@co...">Scott McLaughlin</a> -* @version $Revision: 1.1 $ -*/ + * This class is the JBoss specific Boundary Statistics class allowing + * just to increase and reset the instance. + * + * @author <a href="mailto:mc...@co...">Scott McLaughlin</a> + * @version $Revision: 1.2 $ + **/ public class BoundaryStatistic extends Statistic implements javax.management.j2ee.BoundaryStatistic @@ -20,28 +20,33 @@ // ------------------------------------------------------------------------- // Members // ------------------------------------------------------------------------- - + protected long mLowerBound; protected long mUpperBound; - + // ------------------------------------------------------------------------- // Constructors // ------------------------------------------------------------------------- - + /** * Default (no-args) constructor **/ - public BoundaryStatistic( String pName, String pUnit, String pDescription, - long lowerBound, long upperBound ) { + public BoundaryStatistic( + String pName, + String pUnit, + String pDescription, + long lowerBound, + long upperBound + ) { super( pName, pUnit, pDescription ); mLowerBound = lowerBound; mUpperBound = upperBound; } - + // ------------------------------------------------------------------------- // BoundaryStatistic Implementation // ------------------------------------------------------------------------- - + /** * @return The value of LowerBound **/ @@ -63,9 +68,9 @@ return "BoundryStatistics[ " + getLowerBound() + ", " + getUpperBound() + ", " + super.toString() + " ]"; } - + // ------------------------------------------------------------------------- // Methods // ------------------------------------------------------------------------- - + } 1.2 +38 -47 jboss-management/src/main/org/jboss/management/j2ee/BoundedRangeStatistic.java Index: BoundedRangeStatistic.java =================================================================== RCS file: /cvsroot/jboss/jboss-management/src/main/org/jboss/management/j2ee/BoundedRangeStatistic.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- BoundedRangeStatistic.java 3 May 2002 14:15:23 -0000 1.1 +++ BoundedRangeStatistic.java 25 Aug 2002 23:13:38 -0000 1.2 @@ -7,12 +7,13 @@ package org.jboss.management.j2ee; /** -* This class is the JBoss specific Bounded Range Statistics class allowing -* just to increase and reset the instance. -* -* @author <a href="mailto:mc...@co...">Scott McLaughlin</a> -* @version $Revision: 1.1 $ -*/ + * This class is the JBoss specific Bounded Range Statistics class allowing + * just to increase and reset the instance. + * + * @author <a href="mailto:mc...@co...">Scott McLaughlin</a> + * @author <a href="mailto:an...@jb...">Andreas Schaefer</a> + * @version $Revision: 1.2 $ + **/ public class BoundedRangeStatistic extends Statistic implements javax.management.j2ee.BoundedRangeStatistic @@ -20,22 +21,36 @@ // ------------------------------------------------------------------------- // Members // ------------------------------------------------------------------------- - - protected BoundaryStatistic mBoundaryStat; - protected RangeStatistic mRangeStat; - + + private long mCurrent; + private long mLowerBound; + private long mUpperBound; + private long mLowWaterMark; + private long mHighWaterMark; + // ------------------------------------------------------------------------- // Constructors // ------------------------------------------------------------------------- - + /** * Default (no-args) constructor **/ - public BoundedRangeStatistic( String pName, String pUnit, String pDescription, - long lowerBound, long upperBound ) { - super(pName,pUnit,pDescription); - mBoundaryStat = new BoundaryStatistic(pName,pUnit,pDescription,lowerBound,upperBound); - mRangeStat = new RangeStatistic(pName,pUnit,pDescription); + public BoundedRangeStatistic( + String pName, + String pUnit, + String pDescription, + long pCurrent, + long pLowerBound, + long pUpperBound, + long pLowWaterMark, + long pHighWaterMark + ) { + super( pName, pUnit, pDescription ); + mCurrent = pCurrent; + mLowerBound = pLowerBound; + mUpperBound = pUpperBound; + mLowWaterMark = pLowWaterMark; + mHighWaterMark = pHighWaterMark; } // ------------------------------------------------------------------------- @@ -46,66 +61,42 @@ * @return The value of Current **/ public long getCurrent() { - return mRangeStat.getCurrent(); + return mCurrent; } /** * @return The value of HighWaterMark **/ public long getHighWaterMark() { - return mRangeStat.getHighWaterMark(); + return mHighWaterMark; } /** * @return The value of LowWaterMark **/ public long getLowWaterMark() { - return mRangeStat.getLowWaterMark(); + return mLowWaterMark; } /** * @return The value of Lower Bound **/ public long getLowerBound() { - return mBoundaryStat.getLowerBound(); + return mLowerBound; } /** * @return The value of Upper Bound **/ public long getUpperBound() { - return mBoundaryStat.getUpperBound(); + return mUpperBound; } /** * @return Debug Information about this Instance **/ public String toString() { - return "BoundedRangeStatistics[ " + mRangeStat.toString() + ", " + mBoundaryStat.toString() + " ]"; - } - - // ------------------------------------------------------------------------- - // Methods - // ------------------------------------------------------------------------- - - /** - * Adds a hit to this counter - **/ - public void add() { - mRangeStat.add(); - } - - /** - * Removes a hit to this counter - **/ - public void remove() { - mRangeStat.remove(); - } - - /** - * Resets the statistics to the initial values - **/ - public void reset() { - mRangeStat.reset(); + return "BoundedRangeStatistics[ current: " + mCurrent + + " ]"; } } 1.3 +7 -33 jboss-management/src/main/org/jboss/management/j2ee/CountStatistic.java Index: CountStatistic.java =================================================================== RCS file: /cvsroot/jboss/jboss-management/src/main/org/jboss/management/j2ee/CountStatistic.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- CountStatistic.java 28 Jun 2002 12:17:12 -0000 1.2 +++ CountStatistic.java 25 Aug 2002 23:13:38 -0000 1.3 @@ -7,13 +7,11 @@ package org.jboss.management.j2ee; /** -* This class is the JBoss specific Counter Statistics class allowing -* just to increase and reset the instance. -* -* @author <a href="mailto:mar...@jb...">Marc Fleury</a> -* @author <a href="mailto:an...@jb...">Andreas Schaefer</a> -* @version $Revision: 1.2 $ -*/ + * This class is the JBoss specific Counter Statistics class + * + * @author <a href="mailto:an...@jb...">Andreas Schaefer</a> + * @version $Revision: 1.3 $ + **/ public class CountStatistic extends Statistic implements javax.management.j2ee.CountStatistic @@ -31,8 +29,9 @@ /** * Default (no-args) constructor **/ - public CountStatistic( String pName, String pUnit, String pDescription ) { + public CountStatistic( String pName, String pUnit, String pDescription, long pCount ) { super( pName, pUnit, pDescription ); + mCount = pCount; } // ------------------------------------------------------------------------- @@ -51,30 +50,5 @@ **/ public String toString() { return "CountStatistics[ " + getCount() + ", " + super.toString() + " ]"; - } - - // ------------------------------------------------------------------------- - // Methods - // ------------------------------------------------------------------------- - - /** - * Adds a hit to this counter - **/ - public void add() { - mCount++; - } - - /** - * Removes a hit to this counter - **/ - public void remove() { - mCount = mCount > 0 ? mCount--: 0; - } - - /** - * Resets the statistics to the initial values - **/ - public void reset() { - mCount = 0; } } 1.7 +10 -5 jboss-management/src/main/org/jboss/management/j2ee/EJB.java Index: EJB.java =================================================================== RCS file: /cvsroot/jboss/jboss-management/src/main/org/jboss/management/j2ee/EJB.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- EJB.java 28 Jun 2002 12:17:12 -0000 1.6 +++ EJB.java 25 Aug 2002 23:13:38 -0000 1.7 @@ -19,7 +19,7 @@ * {@link javax.management.j2ee.EJB EJB}. * * @author <a href="mailto:an...@jb...">Andreas Schaefer</a>. - * @version $Revision: 1.6 $ + * @version $Revision: 1.7 $ * * <p><b>Revisions:</b> * @@ -28,7 +28,7 @@ * <li> Creation * </ul> * - * @jmx:mbean extends="org.jboss.management.j2ee.J2EEManagedObjectMBean" + * @jmx:mbean extends="org.jboss.management.j2ee.J2EEManagedObjectMBean,org.jboss.management.j2ee.StatisticsProvider" **/ public abstract class EJB extends J2EEManagedObject @@ -43,6 +43,8 @@ // Attributes ---------------------------------------------------- + protected ObjectName mService; + // Static -------------------------------------------------------- private static final String[] sTypes = new String[] { @@ -52,7 +54,7 @@ "MessageDrivenBean" }; - public static ObjectName create( MBeanServer pServer, String pEjbModule, int pType, String lJNDIName ) { + public static ObjectName create( MBeanServer pServer, String pEjbModule, int pType, String lJNDIName, ObjectName pService ) { if( !J2EEServer.sIsActive ) { return null; } @@ -64,10 +66,12 @@ null, new Object[] { lJNDIName, - new ObjectName( pEjbModule ) + new ObjectName( pEjbModule ), + pService }, new String[] { String.class.getName(), + ObjectName.class.getName(), ObjectName.class.getName() } ).getObjectName(); @@ -100,12 +104,13 @@ * * @throws InvalidParameterException If list of nodes or ports was null or empty **/ - public EJB( String pType, String pName, ObjectName pEjbModule ) + public EJB( String pType, String pName, ObjectName pEjbModule, ObjectName pService ) throws MalformedObjectNameException, InvalidParentException { super( pType, pName, pEjbModule ); + mService = pService; } // java.lang.Object overrides -------------------------------------- 1.3 +42 -3 jboss-management/src/main/org/jboss/management/j2ee/EntityBean.java Index: EntityBean.java =================================================================== RCS file: /cvsroot/jboss/jboss-management/src/main/org/jboss/management/j2ee/EntityBean.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- EntityBean.java 28 Jun 2002 12:17:12 -0000 1.2 +++ EntityBean.java 25 Aug 2002 23:13:38 -0000 1.3 @@ -6,15 +6,20 @@ */ package org.jboss.management.j2ee; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + import javax.management.MalformedObjectNameException; import javax.management.ObjectName; +import javax.management.j2ee.Stats; /** * Root class of the JBoss JSR-77 implementation of * {@link javax.management.j2ee.EntityBean EntityBean}. * * @author <a href="mailto:an...@jb...">Andreas Schaefer</a>. - * @version $Revision: 1.2 $ + * @version $Revision: 1.3 $ * * <p><b>Revisions:</b> * @@ -45,15 +50,49 @@ * * @throws InvalidParameterException If list of nodes or ports was null or empty **/ - public EntityBean( String pName, ObjectName pEjbModule ) + public EntityBean( String pName, ObjectName pEjbModule, ObjectName pService ) throws MalformedObjectNameException, InvalidParentException { - super( J2EE_TYPE, pName, pEjbModule ); + super( J2EE_TYPE, pName, pEjbModule, pService ); } // Public -------------------------------------------------------- + + // StatisitcsProvider overrides ---------------------------------- + + public Stats getStats() { + try { + List lContainer = new ArrayList(); + server.invoke( + mService, + "retrieveStatistics", + new Object[] { + lContainer, + new Boolean( false ) + }, + new String[] { + ObjectName.class.getName(), + Boolean.TYPE.getName() + } + ); + // Retrieve Data and create EntityStats + EntityBeanStats lStats = new EntityBeanStats(); + Iterator i = lContainer.iterator(); + while( i.hasNext() ) { + SampleData lData = (SampleData) i.next(); + lStats.addStatistic( lData.getName(), lData.getStatistic() ); + } + return lStats; + } + catch( Exception e ) { + //AS ToDo: Remove later + e.printStackTrace(); + // Return null when the call to the target cannot be made + return null; + } + } // Object overrides --------------------------------------------------- 1.9 +2 -1 jboss-management/src/main/org/jboss/management/j2ee/MBean.java Index: MBean.java =================================================================== RCS file: /cvsroot/jboss/jboss-management/src/main/org/jboss/management/j2ee/MBean.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- MBean.java 28 Jun 2002 12:17:13 -0000 1.8 +++ MBean.java 25 Aug 2002 23:13:38 -0000 1.9 @@ -23,7 +23,7 @@ * {@link javax.management.j2ee.MBean MBean}. * * @author <a href="mailto:an...@jb...">Andreas Schaefer</a>. - * @version $Revision: 1.8 $ + * @version $Revision: 1.9 $ * * <p><b>Revisions:</b> * @@ -152,6 +152,7 @@ //AS ToDo: later on we have to define what happens when service is null or //AS ToDo: not found. jme.printStackTrace(); + return; } sendNotification( new Notification( 1.3 +42 -3 jboss-management/src/main/org/jboss/management/j2ee/MessageDrivenBean.java Index: MessageDrivenBean.java =================================================================== RCS file: /cvsroot/jboss/jboss-management/src/main/org/jboss/management/j2ee/MessageDrivenBean.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- MessageDrivenBean.java 28 Jun 2002 12:17:13 -0000 1.2 +++ MessageDrivenBean.java 25 Aug 2002 23:13:38 -0000 1.3 @@ -6,15 +6,20 @@ */ package org.jboss.management.j2ee; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + import javax.management.MalformedObjectNameException; import javax.management.ObjectName; +import javax.management.j2ee.Stats; /** * Root class of the JBoss JSR-77 implementation of * {@link javax.management.j2ee.MessageDrivenBean MessageDrivenBean}. * * @author <a href="mailto:an...@jb...">Andreas Schaefer</a>. - * @version $Revision: 1.2 $ + * @version $Revision: 1.3 $ * * <p><b>Revisions:</b> * @@ -45,15 +50,49 @@ * * @throws InvalidParameterException If list of nodes or ports was null or empty **/ - public MessageDrivenBean( String pName, ObjectName pApplication ) + public MessageDrivenBean( String pName, ObjectName pApplication, ObjectName pService ) throws MalformedObjectNameException, InvalidParentException { - super( J2EE_TYPE, pName, pApplication ); + super( J2EE_TYPE, pName, pApplication, pService ); } // Public -------------------------------------------------------- + + // StatisitcsProvider overrides ---------------------------------- + + public Stats getStats() { + try { + List lContainer = new ArrayList(); + server.invoke( + mService, + "retrieveStatistics", + new Object[] { + lContainer, + new Boolean( false ) + }, + new String[] { + ObjectName.class.getName(), + Boolean.TYPE.getName() + } + ); + // Retrieve Data and create MessageDrivenBeanStats + MessageDrivenBeanStats lStats = new MessageDrivenBeanStats(); + Iterator i = lContainer.iterator(); + while( i.hasNext() ) { + SampleData lData = (SampleData) i.next(); + lStats.addStatistic( lData.getName(), lData.getStatistic() ); + } + return lStats; + } + catch( Exception e ) { + //AS ToDo: Remove later + e.printStackTrace(); + // Return null when the call to the target cannot be made + return null; + } + } // Object overrides --------------------------------------------------- 1.2 +10 -41 jboss-management/src/main/org/jboss/management/j2ee/RangeStatistic.java Index: RangeStatistic.java =================================================================== RCS file: /cvsroot/jboss/jboss-management/src/main/org/jboss/management/j2ee/RangeStatistic.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- RangeStatistic.java 3 May 2002 14:15:23 -0000 1.1 +++ RangeStatistic.java 25 Aug 2002 23:13:38 -0000 1.2 @@ -8,12 +8,12 @@ package org.jboss.management.j2ee; /** -* This class is the JBoss specific Range Statistics class allowing -* just to increase and reset the instance. -* -* @author <a href="mailto:mc...@co...">Scott McLaughlin</a> -* @version $Revision: 1.1 $ -*/ + * This class is the JBoss specific Range Statistics class + * + * @author <a href="mailto:mc...@co...">Scott McLaughlin</a> + * @author <a href="mailto:an...@jb...">Andreas Schaefer</a> + * @version $Revision: 1.2 $ + **/ public class RangeStatistic extends Statistic implements javax.management.j2ee.RangeStatistic @@ -33,8 +33,11 @@ /** * Default (no-args) constructor **/ - public RangeStatistic( String pName, String pUnit, String pDescription ) { + public RangeStatistic( String pName, String pUnit, String pDescription, long pCurrent, long pLow, long pHigh ) { super( pName, pUnit, pDescription ); + mCurrent = pCurrent; + mLowWaterMark = pLow; + mHighWaterMark = pHigh; } // ------------------------------------------------------------------------- @@ -70,39 +73,5 @@ getCurrent() + ", " + getLowWaterMark() + ", " + super.toString() + " ]"; - } - - // ------------------------------------------------------------------------- - // Methods - // ------------------------------------------------------------------------- - - /** - * Adds a hit to this counter - **/ - public void add() { - if(++mCurrent > mHighWaterMark) - { - mHighWaterMark = mCurrent; - } - } - - /** - * Removes a hit to this counter - **/ - public void remove() { - mCurrent = mCurrent > 0 ? mCurrent--: 0; - if(mCurrent < mLowWaterMark) - { - mLowWaterMark = mCurrent; - } - } - - /** - * Resets the statistics to the initial values - **/ - public void reset() { - mCurrent = 0; - mHighWaterMark = 0; - mLowWaterMark = 0; } } 1.2 +17 -4 jboss-management/src/main/org/jboss/management/j2ee/SampleData.java Index: SampleData.java =================================================================== RCS file: /cvsroot/jboss/jboss-management/src/main/org/jboss/management/j2ee/SampleData.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- SampleData.java 14 Aug 2002 23:46:37 -0000 1.1 +++ SampleData.java 25 Aug 2002 23:13:38 -0000 1.2 @@ -17,7 +17,7 @@ * * @author <a href="mailto:mar...@jb...">Marc Fleury</a> * @author <a href="mailto:an...@jb...">Andreas Schaefer</a> - * @version $Revision: 1.1 $ + * @version $Revision: 1.2 $ **/ public class SampleData { @@ -69,11 +69,24 @@ * @return The appropriate JSR-77 statistics Container based * the current data **/ - public Statistic getStatistics() { + public Statistic getStatistic() { switch( mType ) { case COUNT: - // TBI - return null; + return new CountStatistic( + getName(), + "", // No Unit + getName(), // Check later what to do here, + mValue + ); + case RANGE: + return new RangeStatistic( + getName(), + "", // No Unit + getName(), // Check later what to do here + mValue, + mMin, + mMax + ); } return null; } 1.3 +4 -4 jboss-management/src/main/org/jboss/management/j2ee/SessionBean.java Index: SessionBean.java =================================================================== RCS file: /cvsroot/jboss/jboss-management/src/main/org/jboss/management/j2ee/SessionBean.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- SessionBean.java 28 Jun 2002 12:17:13 -0000 1.2 +++ SessionBean.java 25 Aug 2002 23:13:38 -0000 1.3 @@ -14,7 +14,7 @@ * {@link javax.management.j2ee.SessionBean SessionBean}. * * @author <a href="mailto:an...@jb...">Andreas Schaefer</a>. - * @version $Revision: 1.2 $ + * @version $Revision: 1.3 $ * * <p><b>Revisions:</b> * @@ -25,7 +25,7 @@ * * @jmx:mbean extends="org.jboss.management.j2ee.EJBMBean" **/ -public class SessionBean +public abstract class SessionBean extends EJB implements SessionBeanMBean { @@ -42,12 +42,12 @@ * * @throws InvalidParameterException If list of nodes or ports was null or empty **/ - public SessionBean( String pType, String pName, ObjectName pEjbModule ) + public SessionBean( String pType, String pName, ObjectName pEjbModule, ObjectName pService ) throws MalformedObjectNameException, InvalidParentException { - super( pType, pName, pEjbModule ); + super( pType, pName, pEjbModule, pService ); } // ------------------------------------------------------------------------- 1.3 +42 -3 jboss-management/src/main/org/jboss/management/j2ee/StatefulSessionBean.java Index: StatefulSessionBean.java =================================================================== RCS file: /cvsroot/jboss/jboss-management/src/main/org/jboss/management/j2ee/StatefulSessionBean.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- StatefulSessionBean.java 28 Jun 2002 12:17:13 -0000 1.2 +++ StatefulSessionBean.java 25 Aug 2002 23:13:38 -0000 1.3 @@ -6,15 +6,20 @@ */ package org.jboss.management.j2ee; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + import javax.management.MalformedObjectNameException; import javax.management.ObjectName; +import javax.management.j2ee.Stats; /** * Root class of the JBoss JSR-77 implementation of * {@link javax.management.j2ee.StatefulSessionBean StatefulSessionBean}. * * @author <a href="mailto:an...@jb...">Andreas Schaefer</a>. - * @version $Revision: 1.2 $ + * @version $Revision: 1.3 $ * * <p><b>Revisions:</b> * @@ -45,15 +50,49 @@ * * @throws InvalidParameterException If list of nodes or ports was null or empty **/ - public StatefulSessionBean( String pName, ObjectName pEjbModule ) + public StatefulSessionBean( String pName, ObjectName pEjbModule, ObjectName pService ) throws MalformedObjectNameException, InvalidParentException { - super( J2EE_TYPE, pName, pEjbModule ); + super( J2EE_TYPE, pName, pEjbModule, pService ); } // Public -------------------------------------------------------- + + // StatisitcsProvider overrides ---------------------------------- + + public Stats getStats() { + try { + List lContainer = new ArrayList(); + server.invoke( + mService, + "retrieveStatistics", + new Object[] { + lContainer, + new Boolean( false ) + }, + new String[] { + ObjectName.class.getName(), + Boolean.TYPE.getName() + } + ); + // Retrieve Data and create StatefulSessionBeanStats + StatefulSessionBeanStats lStats = new StatefulSessionBeanStats(); + Iterator i = lContainer.iterator(); + while( i.hasNext() ) { + SampleData lData = (SampleData) i.next(); + lStats.addStatistic( lData.getName(), lData.getStatistic() ); + } + return lStats; + } + catch( Exception e ) { + //AS ToDo: Remove later + e.printStackTrace(); + // Return null when the call to the target cannot be made + return null; + } + } // Object overrides --------------------------------------------------- 1.3 +42 -3 jboss-management/src/main/org/jboss/management/j2ee/StatelessSessionBean.java Index: StatelessSessionBean.java =================================================================== RCS file: /cvsroot/jboss/jboss-management/src/main/org/jboss/management/j2ee/StatelessSessionBean.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- StatelessSessionBean.java 28 Jun 2002 12:17:13 -0000 1.2 +++ StatelessSessionBean.java 25 Aug 2002 23:13:38 -0000 1.3 @@ -6,15 +6,20 @@ */ package org.jboss.management.j2ee; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + import javax.management.MalformedObjectNameException; import javax.management.ObjectName; +import javax.management.j2ee.Stats; /** * Root class of the JBoss JSR-77 implementation of * {@link javax.management.j2ee.StatelessSessionBean StatelessSessionBean}. * * @author <a href="mailto:an...@jb...">Andreas Schaefer</a>. - * @version $Revision: 1.2 $ + * @version $Revision: 1.3 $ * * <p><b>Revisions:</b> * @@ -45,15 +50,49 @@ * * @throws InvalidParameterException If list of nodes or ports was null or empty **/ - public StatelessSessionBean( String pName, ObjectName pEjbModule ) + public StatelessSessionBean( String pName, ObjectName pEjbModule, ObjectName pService ) throws MalformedObjectNameException, InvalidParentException { - super( J2EE_TYPE, pName, pEjbModule ); + super( J2EE_TYPE, pName, pEjbModule, pService ); } // Public -------------------------------------------------------- + + // StatisitcsProvider overrides ---------------------------------- + + public Stats getStats() { + try { + List lContainer = new ArrayList(); + server.invoke( + mService, + "retrieveStatistics", + new Object[] { + lContainer, + new Boolean( false ) + }, + new String[] { + List.class.getName(), + Boolean.TYPE.getName() + } + ); + // Retrieve Data and create StatelessSessionBeanStats + StatelessSessionBeanStats lStats = new StatelessSessionBeanStats(); + Iterator i = lContainer.iterator(); + while( i.hasNext() ) { + SampleData lData = (SampleData) i.next(); + lStats.addStatistic( lData.getName(), lData.getStatistic() ); + } + return lStats; + } + catch( Exception e ) { + //AS ToDo: Remove later + e.printStackTrace(); + // Return null when the call to the target cannot be made + return null; + } + } // Object overrides --------------------------------------------------- 1.1 jboss-management/src/main/org/jboss/management/j2ee/EJBStats.java Index: EJBStats.java =================================================================== /* * JBoss, the OpenSource J2EE webOS * * Distributable under LGPL license. * See terms of license at gnu.org. */ package org.jboss.management.j2ee; import javax.management.j2ee.CountStatistic; import javax.management.j2ee.Statistic; /** * Represents a statistics provided by an EJB * * @author <a href="mailto:an...@jb...">Andreas Schaefer</a> * @version $Revision: 1.1 $ * * <p><b>Revisions:</b> * * <p><b>200112009 Andreas Schaefer:</b> * <ul> * <li>Creation</li> * </ul> **/ public abstract class EJBStats extends Stats implements javax.management.j2ee.EJBStats { // Constants ----------------------------------------------------- // Attributes ---------------------------------------------------- // Constructors -------------------------------------------------- public EJBStats() { } public EJBStats( CountStatistic pCreateCount, CountStatistic pRemoveCount ) { addStatistic( "CreateCount", pCreateCount ); addStatistic( "RemoveCount", pRemoveCount ); } // Public -------------------------------------------------------- // javax.management.j2ee.EJBStats implementation ----------------- public CountStatistic getCreateCount() { return (CountStatistic) getStatistic( "CreateCount" ); } public CountStatistic getRemoveCount() { return (CountStatistic) getStatistic( "RemoveCount" ); } // Package protected --------------------------------------------- // Protected ----------------------------------------------------- // Static inner classes ------------------------------------------------- } 1.1 jboss-management/src/main/org/jboss/management/j2ee/EntityBeanStats.java Index: EntityBeanStats.java =================================================================== /* * JBoss, the OpenSource J2EE webOS * * Distributable under LGPL license. * See terms of license at gnu.org. */ package org.jboss.management.j2ee; import javax.management.j2ee.CountStatistic; import javax.management.j2ee.Statistic; import javax.management.j2ee.RangeStatistic; /** * Represents a statistics provided by an Entity Bean * * @author <a href="mailto:an...@jb...">Andreas Schaefer</a> * @version $Revision: 1.1 $ * * <p><b>Revisions:</b> * * <p><b>200112009 Andreas Schaefer:</b> * <ul> * <li>Creation</li> * </ul> **/ public class EntityBeanStats extends EJBStats implements javax.management.j2ee.EntityBeanStats { // Constants ----------------------------------------------------- // Attributes ---------------------------------------------------- // Constructors -------------------------------------------------- public EntityBeanStats() { } public EntityBeanStats( CountStatistic pCreateCount, CountStatistic pRemoveCount, RangeStatistic pReadyCount, RangeStatistic pPooledCount ) { super( pCreateCount, pRemoveCount ); addStatistic( "ReadyCount", pReadyCount ); addStatistic( "PooledCount", pPooledCount ); } // Public -------------------------------------------------------- // javax.management.j2ee.EntityBeanStats implementation ---------- public RangeStatistic getReadyCount() { return (RangeStatistic) getStatistic( "ReadyCount" ); } public RangeStatistic getPooledCount() { return (RangeStatistic) getStatistic( "PooledCount" ); } // Package protected --------------------------------------------- // Protected ----------------------------------------------------- // Static inner classes ------------------------------------------------- } 1.1 jboss-management/src/main/org/jboss/management/j2ee/MessageDrivenBeanStats.java Index: MessageDrivenBeanStats.java =================================================================== /* * JBoss, the OpenSource J2EE webOS * * Distributable under LGPL license. * See terms of license at gnu.org. */ package org.jboss.management.j2ee; import javax.management.j2ee.CountStatistic; import javax.management.j2ee.Statistic; import javax.management.j2ee.RangeStatistic; /** * Represents a statistics provided by an Message Driven Bean * * @author <a href="mailto:an...@jb...">Andreas Schaefer</a> * @version $Revision: 1.1 $ * * <p><b>Revisions:</b> * * <p><b>200112009 Andreas Schaefer:</b> * <ul> * <li>Creation</li> * </ul> **/ public class MessageDrivenBeanStats extends EJBStats implements javax.management.j2ee.MessageDrivenBeanStats { // Constants ----------------------------------------------------- // Attributes ---------------------------------------------------- // Constructors -------------------------------------------------- public MessageDrivenBeanStats() { } public MessageDrivenBeanStats( CountStatistic pCreateCount, CountStatistic pRemoveCount, CountStatistic pMessageCount ) { super( pCreateCount, pRemoveCount ); addStatistic( "MessageCount", pMessageCount ); } // Public -------------------------------------------------------- // javax.management.j2ee.MessageDrivenBeanStats implementation --- public CountStatistic getMessageCount() { return (CountStatistic) getStatistic( "MessageCount" ); } // Package protected --------------------------------------------- // Protected ----------------------------------------------------- // Static inner classes ------------------------------------------------- } 1.1 jboss-management/src/main/org/jboss/management/j2ee/SessionBeanStats.java Index: SessionBeanStats.java =================================================================== /* * JBoss, the OpenSource J2EE webOS * * Distributable under LGPL license. * See terms of license at gnu.org. */ package org.jboss.management.j2ee; import javax.management.j2ee.CountStatistic; import javax.management.j2ee.Statistic; import javax.management.j2ee.RangeStatistic; /** * Represents a statistics provided by an Session Bean * * @author <a href="mailto:an...@jb...">Andreas Schaefer</a> * @version $Revision: 1.1 $ * * <p><b>Revisions:</b> * * <p><b>200112009 Andreas Schaefer:</b> * <ul> * <li>Creation</li> * </ul> **/ public abstract class SessionBeanStats extends EJBStats implements javax.management.j2ee.SessionBeanStats { // Constants ----------------------------------------------------- // Attributes ---------------------------------------------------- // Constructors -------------------------------------------------- public SessionBeanStats() { } public SessionBeanStats( CountStatistic pCreateCount, CountStatistic pRemoveCount, RangeStatistic pMethodReadyCount ) { super( pCreateCount, pRemoveCount ); addStatistic( "MethodReadyCount", pMethodReadyCount ); } // Public -------------------------------------------------------- // javax.management.j2ee.SessionBeanStats implementation --------- public RangeStatistic getMethodReadyCount() { return (RangeStatistic) getStatistic( "MethodReadyCount" ); } // Package protected --------------------------------------------- // Protected ----------------------------------------------------- // Static inner classes ------------------------------------------------- } 1.1 jboss-management/src/main/org/jboss/management/j2ee/StatefulSessionBeanStats.java Index: StatefulSessionBeanStats.java =================================================================== /* * JBoss, the OpenSource J2EE webOS * * Distributable under LGPL license. * See terms of license at gnu.org. */ package org.jboss.management.j2ee; import javax.management.j2ee.CountStatistic; import javax.management.j2ee.Statistic; import javax.management.j2ee.RangeStatistic; /** * Represents a statistics provided by an Stateful Session Bean * * @author <a href="mailto:an...@jb...">Andreas Schaefer</a> * @version $Revision: 1.1 $ * * <p><b>Revisions:</b> * * <p><b>200112009 Andreas Schaefer:</b> * <ul> * <li>Creation</li> * </ul> **/ public class StatefulSessionBeanStats extends SessionBeanStats implements javax.management.j2ee.StatefulSessionBeanStats { // Constants ----------------------------------------------------- // Attributes ---------------------------------------------------- // Constructors -------------------------------------------------- public StatefulSessionBeanStats() { } public StatefulSessionBeanStats( CountStatistic pCreateCount, CountStatistic pRemoveCount, RangeStatistic pMethodReadyCount, RangeStatistic pPassiveCount ) { super( pCreateCount, pRemoveCount, pMethodReadyCount ); addStatistic( "PassiveCount", pPassiveCount ); } // Public -------------------------------------------------------- // javax.management.j2ee.StatefulSessionBeanStats implementation - public RangeStatistic getPassiveCount() { return (RangeStatistic) getStatistic( "PassiveCount" ); } // Package protected --------------------------------------------- // Protected ----------------------------------------------------- // Static inner classes ------------------------------------------------- } 1.1 jboss-management/src/main/org/jboss/management/j2ee/StatelessSessionBeanStats.java Index: StatelessSessionBeanStats.java =================================================================== /* * JBoss, the OpenSource J2EE webOS * * Distributable under LGPL license. * See terms of license at gnu.org. */ package org.jboss.management.j2ee; import javax.management.j2ee.CountStatistic; import javax.management.j2ee.Statistic; import javax.management.j2ee.RangeStatistic; /** * Represents a statistics provided by an Stateless Session Bean * * @author <a href="mailto:an...@jb...">Andreas Schaefer</a> * @version $Revision: 1.1 $ * * <p><b>Revisions:</b> * * <p><b>200112009 Andreas Schaefer:</b> * <ul> * <li>Creation</li> * </ul> **/ public class StatelessSessionBeanStats extends SessionBeanStats implements javax.management.j2ee.StatelessSessionBeanStats { // Constants ----------------------------------------------------- // Attributes ---------------------------------------------------- // Constructors -------------------------------------------------- public StatelessSessionBeanStats() { } public StatelessSessionBeanStats( CountStatistic pCreateCount, CountStatistic pRemoveCount, RangeStatistic pMethodReadyCount ) { super( pCreateCount, pRemoveCount, pMethodReadyCount ); } // Public -------------------------------------------------------- // javax.management.j2ee.StatelessSessionBeanStats implementation ---------- // Package protected --------------------------------------------- // Protected ----------------------------------------------------- // Static inner classes ------------------------------------------------- } 1.1 jboss-management/src/main/org/jboss/management/j2ee/Stats.java Index: Stats.java =================================================================== package org.jboss.management.j2ee; import java.util.HashMap; import java.util.Map; import javax.management.j2ee.JMSConnectionStats; import javax.management.j2ee.Statistic; /** * Represents the statistics root object providing some * basic methods. * * @author <a href="mailto:an...@jb...">Andreas Schaefer</a> * @version $Revision: 1.1 $ * * <p><b>Revisions:</b> * * <p><b>20020426 Andreas Schaefer:</b> * <ul> * <li>Creation</li> * </ul> **/ public abstract class Stats implements javax.management.j2ee.Stats { // Constants ----------------------------------------------------- // Attributes ---------------------------------------------------- private Map mStatistics; // Constructors -------------------------------------------------- public Stats() { mStatistics = new HashMap(); } public Stats( Map pStatistics ) { if( pStatistics == null ) { pStatistics = new HashMap(); } mStatistics = pStatistics; } // Public -------------------------------------------------------- /** * Add a new Statistic to the list of statistics. * * @param pName Name of the Statistics * @param pStatistic Statistic to be added **/ protected void addStatistic( String pName, Statistic pStatistic ) { mStatistics.put( pName, pStatistic ); } // javax.management.j2ee.Stats implementation -------------------- public String[] getStatisticNames() { return (String[]) mStatistics.keySet().toArray( new String[ 0 ] ); } public Statistic[] getStatistics() { return (Statistic[]) mStatistics.entrySet().toArray( new Statistic[ 0 ] ); } public Statistic getStatistic( String pName ) { try { return (Statistic) mStatistics.get( pName ); } catch( Exception e ) { // If not found then return null instead return null; } } // java.lang.Object implementation ------------------------------- public String toString() { return this.getClass().getName() + " [ " + mStatistics + " ]"; } // Package protected --------------------------------------------- // Protected ----------------------------------------------------- // Static inner classes ------------------------------------------------- } |