public class MonitorInfo extends LockInfo
Constructor and Description |
---|
MonitorInfo(String className,
int identityHashCode,
int stackDepth,
StackTraceElement stackFrame)
Constructs a new
MonitorInfo using the specified
lock class name and identity hash code, and the given
stack depth and frame. |
Modifier and Type | Method and Description |
---|---|
static MonitorInfo |
from(CompositeData data)
Returns a
MonitorInfo instance using the values
given in the supplied
CompositeData object. |
int |
getLockedStackDepth()
Returns the depth of the stack at which the lock was obtained.
|
StackTraceElement |
getLockedStackFrame()
Returns the stack frame at which the lock was obtained.
|
getClassName, getIdentityHashCode, toString
public MonitorInfo(String className, int identityHashCode, int stackDepth, StackTraceElement stackFrame)
MonitorInfo
using the specified
lock class name and identity hash code, and the given
stack depth and frame.className
- the class name of the lock object.identityHashCode
- the identity hash code of the lock object.stackDepth
- the depth of the stack at which the lock
was obtained.stackFrame
- the frame of the stack at which the lock was
obtained.IllegalArgumentException
- if the stack depth and frame are
inconsistent i.e. the frame is
null
but the depth is
≥ 0, or the frame is not
null
but the depth is
< 0.public static MonitorInfo from(CompositeData data)
Returns a MonitorInfo
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 |
className | java.lang.String |
identityHashCode | java.lang.Integer |
lockedStackDepth | java.lang.Integer |
lockedStackFrame | javax.management.openmbean.CompositeData |
The stack trace is further described as:
Name | Type |
className | java.lang.String |
methodName | java.lang.String |
fileName | java.lang.String |
lineNumber | java.lang.Integer |
nativeMethod | java.lang.Boolean |
data
- the composite data structure to take values from.null
if the data structure was also null
.IllegalArgumentException
- if the composite data structure
does not match the structure
outlined above.public int getLockedStackDepth()
ThreadInfo.getStackTrace()
.public StackTraceElement getLockedStackFrame()
null
if this informati0on is unavailable.