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
CompositeData
representing the
MemoryNotificationInfo
object is stored in the
user data of a notification. The
from
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 after the Java virtual machine has expended effort in recycling unused objects in that memory pool. |
static String |
MEMORY_THRESHOLD_EXCEEDED
Notification type denoting that the memory usage of a memory pool has reached or exceeded its usage threshold value. |
Constructor Summary | |
---|---|
MemoryNotificationInfo
(
String
poolName,
MemoryUsage
usage, long count) Constructs a MemoryNotificationInfo object. |
Method Summary | |
---|---|
static MemoryNotificationInfo |
from
(javax.management.openmbean.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 MemoryNotificationInfofrom(javax.management.openmbean.CompositeData cd)(CompositeDatacd)
Attribute Name Type poolName java.lang.String usage javax.management.openmbean.CompositeData count java.lang.Long