java.lang.Object java.lang.management.MemoryNotificationInfo
public class MemoryNotificationInfo
The information about a memory notification.
A memory notification is emitted by MemoryMXBean when the Java virtual machine detects that the memory usage of a memory pool is exceeding a threshold value. The notification emitted will contain the memory notification information about the detected condition:
A CompositeData representing the MemoryNotificationInfo object is stored in the user data of a notification . The from method is provided to convert from a CompositeData to a MemoryNotificationInfo object. For example:
Notification notif; // receive the notification emitted by MemoryMXBean and set to notif ... String notifType = notif.getType(); if (notifType.equals(MemoryNotificationInfo.MEMORY_THRESHOLD_EXCEEDED) || notifType.equals(MemoryNotificationInfo.MEMORY_COLLECTION_THRESHOLD_EXCEEDED)) { // retrieve the memory notification information CompositeData cd = (CompositeData) notif.getUserData(); MemoryNotificationInfo info = MemoryNotificationInfo.from(cd); .... }
The types of notifications emitted by MemoryMXBean are:
Field Summary | |
---|---|
static String |
MEMORY_COLLECTION_THRESHOLD_EXCEEDED
Notification type denoting that the memory usage of a memory pool is greater than or equal to its collection usage threshold |
static String |
MEMORY_THRESHOLD_EXCEEDED
Notification type denoting that the memory usage of a memory pool has reached or exceeded its usage threshold |
Constructor Summary | |
---|---|
MemoryNotificationInfo
(
String
poolName,
MemoryUsage
usage, long count) Constructs a MemoryNotificationInfo object. |
Method Summary | |
---|---|
static MemoryNotificationInfo |
from
(
CompositeData
cd) Returns a MemoryNotificationInfo object represented by the given CompositeData . |
long |
getCount
() Returns the number of times that the memory usage has crossed a threshold when the notification was constructed. |
String |
getPoolName
() Returns the name of the memory pool that triggers this notification. |
MemoryUsage |
getUsage
() Returns the memory usage of the memory pool when this notification was constructed. |
Methods inherited from class java.lang. Object |
---|
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
Field Detail |
---|
public static final String MEMORY_THRESHOLD_EXCEEDED
public static final String MEMORY_COLLECTION_THRESHOLD_EXCEEDED
Constructor Detail |
---|
public MemoryNotificationInfo(String poolName, MemoryUsage usage, long count)
Method Detail |
---|
public String getPoolName()
public MemoryUsage getUsage()
public long getCount()
public static MemoryNotificationInfo from(CompositeData cd)
Attribute Name Type poolName java.lang.String usage javax.management.openmbean.CompositeData count java.lang.Long