java.lang.management
Class MemoryNotificationInfo
Represents the content of a notification emitted by the
MemoryMXBean
. Such notifications are emitted when
one of the memory pools exceeds its usage or collection
usage threshold. This object contains the following information,
representing the state of the pool at the time of the
notification:
- The name of the pool.
- The memory usage of the pool at the time of notification.
- The number of times the pool has exceeded this particular
threshold in the past.
Two types of notification are emitted by the
MemoryMXBean
:
one for exceeding the usage threshold and one for exceeding the
collection usage threshold. The value returned by
getCount()
is dependent on this type; if the threshold exceeded is the usage
threshold, then the usage threshold count is returned. If, instead,
the collection usage threshold is exceeded, then the collection usage
threshold count is returned.
This data is held in the user data part of the notification (returned
by
Notification.getUserData()
) encapsulated in
a
CompositeData
object. The
from(CompositeData)
method may be
used to unwrap the value and obtain an instance of this class.
clone , equals , extends Object> getClass , finalize , hashCode , notify , notifyAll , toString , wait , wait , wait |
MEMORY_COLLECTION_THRESHOLD_EXCEEDED
public static final String MEMORY_COLLECTION_THRESHOLD_EXCEEDED
The type of notification emitted when the collection usage threshold
is exceeded, following a garbage collection cycle. The value is
java.management.memory.collection.threshold.exceeded
.
- "java.management.memory.collection.threshold.exceeded"
MEMORY_THRESHOLD_EXCEEDED
public static final String MEMORY_THRESHOLD_EXCEEDED
The type of notification emitted when the usage threshold is exceeded.
After a notification is emitted, the usage level must drop below the
threshold again before another notification is emitted. The value is
java.management.memory.threshold.exceeded
.
- "java.management.memory.threshold.exceeded"
MemoryNotificationInfo
public MemoryNotificationInfo(String poolName,
MemoryUsage usage,
long count)
Constructs a new
MemoryNotificationInfo
object using the
specified pool name, usage level and threshold crossing count.
poolName
- the name of the pool which has exceeded a threshold.usage
- the usage level of the pool at the time of notification.count
- the number of times the threshold has been crossed.
from
public static MemoryNotificationInfo from(CompositeData data)
Returns a
MemoryNotificationInfo
instance using the values
given in the supplied
CompositeData
object.
The composite data instance should contain the following
attributes with the specified types:
| Name | Type | poolName | java.lang.String |
usage | javax.management.openmbean.CompositeData
|
count | java.lang.Long |
The usage level is further described as:
| Name | Type | init | java.lang.Long |
used | java.lang.Long |
committed | java.lang.Long |
max | java.lang.Long |
data
- the composite data structure to take values from.
- a new instance containing the values from the
composite data structure, or
null
if the data structure was also null
.
getCount
public long getCount()
Returns the number of times the memory pool has crossed the usage
threshold, as of the time of notification. If this is the notification
represented by the type
MEMORY_THRESHOLD_EXCEEDED
, then the
count is the usage threshold count. If this is the notification
represented by the type
MEMORY_COLLECTION_THRESHOLD_EXCEEDED
,
then the count is the collection usage threshold count.
- the number of times the appropriate threshold has been crossed.
getPoolName
public String getPoolName()
Returns the name of the pool which has crossed a threshold.
MemoryNotificationInfo.java - Emitted memory notification info.
Copyright (C) 2006 Free Software Foundation
This file is part of GNU Classpath.
GNU Classpath is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Classpath is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301 USA.
Linking this library statically or dynamically with other modules is
making a combined work based on this library. Thus, the terms and
conditions of the GNU General Public License cover the whole
combination.
As a special exception, the copyright holders of this library give you
permission to link this library with independent modules to produce an
executable, regardless of the license terms of these independent
modules, and to copy and distribute the resulting executable under
terms of your choice, provided that you also meet, for each linked
independent module, the terms and conditions of the license of that
module. An independent module is a module which is not derived from
or based on this library. If you modify this library, you may extend
this exception to your version of the library, but you are not
obligated to do so. If you do not wish to do so, delete this
exception statement from your version.