Class GarbageCollectionNotificationInfo

  • All Implemented Interfaces:
    CompositeDataView


    public class GarbageCollectionNotificationInfo
    extends Object
    implements CompositeDataView
    The information about a garbage collection

    A garbage collection notification is emitted by GarbageCollectorMXBean when the Java virtual machine completes a garbage collection action The notification emitted will contain the garbage collection notification information about the status of the memory:

    • The name of the garbage collector used to perform the collection.
    • The action performed by the garbage collector.
    • The cause of the garbage collection action.
    • A GcInfo object containing some statistics about the GC cycle (start time, end time) and the memory usage before and after the GC cycle.

    A CompositeData representing the GarbageCollectionNotificationInfo object is stored in the userdata of a notification. The from method is provided to convert from a CompositeData to a GarbageCollectionNotificationInfo object. For example:

          Notification notif;
    
          // receive the notification emitted by a GarbageCollectorMXBean and set to notif
          ...
    
          String notifType = notif.getType();
          if (notifType.equals(GarbageCollectionNotificationInfo.GARBAGE_COLLECTION_NOTIFICATION)) {
              // retrieve the garbage collection notification information
              CompositeData cd = (CompositeData) notif.getUserData();
              GarbageCollectionNotificationInfo info = GarbageCollectionNotificationInfo.from(cd);
              ....
          }
     

    The type of the notification emitted by a GarbageCollectorMXBean is:

    • Field Detail

      • GARBAGE_COLLECTION_NOTIFICATION

        public static final String GARBAGE_COLLECTION_NOTIFICATION
        Notification type denoting that the Java virtual machine has completed a garbage collection cycle. This notification is emitted by a GarbageCollectorMXBean. The value of this notification type is com.sun.management.gc.notification.
        See Also:
        Constant Field Values
    • Constructor Detail

      • GarbageCollectionNotificationInfo

        public GarbageCollectionNotificationInfo​(String gcName,
                                                 String gcAction,
                                                 String gcCause,
                                                 GcInfo gcInfo)
        Constructs a GarbageCollectionNotificationInfo object.
        Parameters:
        gcName - The name of the garbage collector used to perform the collection
        gcAction - The name of the action performed by the garbage collector
        gcCause - The cause of the garbage collection action
        gcInfo - a GcInfo object providing statistics about the GC cycle
    • Method Detail

      • getGcName

        public String getGcName​()
        Returns the name of the garbage collector used to perform the collection
        Returns:
        the name of the garbage collector used to perform the collection
      • getGcAction

        public String getGcAction​()
        Returns the action performed by the garbage collector
        Returns:
        the action performed by the garbage collector
      • getGcCause

        public String getGcCause​()
        Returns the cause of the garbage collection
        Returns:
        the cause of the garbage collection
      • getGcInfo

        public GcInfo getGcInfo​()
        Returns the GC information related to the last garbage collection
        Returns:
        the GC information related to the last garbage collection
      • from

        public static GarbageCollectionNotificationInfo from​(CompositeData cd)
        Returns a GarbageCollectionNotificationInfo object represented by the given CompositeData. The given CompositeData must contain the following attributes:
        description
        Attribute Name Type
        gcName java.lang.String
        gcAction java.lang.String
        gcCause java.lang.String
        gcInfo javax.management.openmbean.CompositeData
        Parameters:
        cd - CompositeData representing a GarbageCollectionNotificationInfo
        Returns:
        a GarbageCollectionNotificationInfo object represented by cd if cd is not null; null otherwise.
        Throws:
        IllegalArgumentException - if cd does not represent a GarbaageCollectionNotificationInfo object.
      • toCompositeData

        public CompositeData toCompositeData​(CompositeType ct)
        Description copied from interface: CompositeDataView

        Return a CompositeData corresponding to the values in this object. The returned value should usually be an instance of CompositeDataSupport, or a class that serializes as a CompositeDataSupport via a writeReplace method. Otherwise, a remote client that receives the object might not be able to reconstruct it.

        Specified by:
        toCompositeData in interface CompositeDataView
        Parameters:
        ct - The expected CompositeType of the returned value. If the returned value is cd, then cd.getCompositeType().equals(ct) should be true. Typically this will be because cd is a CompositeDataSupport constructed with ct as its CompositeType.
        Returns:
        the CompositeData.