java.lang.management.MemoryNotificationInfoA 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 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. |
|
| getPoolName() Returns the name of the memory pool that triggers this notification. |
||
| 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 |
Attribute Name Type poolName java.lang.String usage javax.management.openmbean.CompositeData count java.lang.Long