MonitorInfopublic class MonitorInfo extends LockInfo Information about an object monitor lock. An object monitor is locked
when entering a synchronization block or method on that object.
MXBean Mapping
MonitorInfo is mapped to a {@link CompositeData CompositeData}
with attributes as specified in
the {@link #from from} method. |
Fields Summary |
---|
private int | stackDepth | private StackTraceElement | stackFrame |
Constructors Summary |
---|
public MonitorInfo(String className, int identityHashCode, int stackDepth, StackTraceElement stackFrame)Construct a MonitorInfo object.
super(className, identityHashCode);
if (stackDepth >= 0 && stackFrame == null) {
throw new IllegalArgumentException("Parameter stackDepth is " +
stackDepth + " but stackFrame is null");
}
if (stackDepth < 0 && stackFrame != null) {
throw new IllegalArgumentException("Parameter stackDepth is " +
stackDepth + " but stackFrame is not null");
}
this.stackDepth = stackDepth;
this.stackFrame = stackFrame;
|
Methods Summary |
---|
public static java.lang.management.MonitorInfo | from(javax.management.openmbean.CompositeData cd)Returns a MonitorInfo object represented by the
given CompositeData.
The given CompositeData must contain the following attributes
as well as the attributes specified in the
mapped type for the {@link LockInfo} class:
Attribute Name |
Type |
lockedStackFrame |
CompositeData as specified in the
stackTrace
attribute defined in the {@link ThreadInfo#from
ThreadInfo.from} method.
|
lockedStackDepth |
java.lang.Integer |
if (cd == null) {
return null;
}
if (cd instanceof MonitorInfoCompositeData) {
return ((MonitorInfoCompositeData) cd).getMonitorInfo();
} else {
MonitorInfoCompositeData.validateCompositeData(cd);
String className = MonitorInfoCompositeData.getClassName(cd);
int identityHashCode = MonitorInfoCompositeData.getIdentityHashCode(cd);
int stackDepth = MonitorInfoCompositeData.getLockedStackDepth(cd);
StackTraceElement stackFrame = MonitorInfoCompositeData.getLockedStackFrame(cd);
return new MonitorInfo(className,
identityHashCode,
stackDepth,
stackFrame);
}
| public int | getLockedStackDepth()Returns the depth in the stack trace where the object monitor
was locked. The depth is the index to the StackTraceElement
array returned in the {@link ThreadInfo#getStackTrace} method.
return stackDepth;
| public java.lang.StackTraceElement | getLockedStackFrame()Returns the stack frame that locked the object monitor.
return stackFrame;
|
|