Class GarbageCollectionNotificationInfo

java.lang.Object
com.sun.management.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 Details

    • 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:
  • Constructor Details

    • 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 Details

    • 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

      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.