- java.lang.Object
-
- java.lang.management.LockInfo
-
- java.lang.management.MonitorInfo
-
public class MonitorInfo extends LockInfo
This class represents information about objects locked via a synchronized method or block.- Since:
- 1.6
-
-
Constructor Summary
Constructors Constructor Description MonitorInfo(String className, int identityHashCode, int stackDepth, StackTraceElement stackFrame)Creates a newMonitorInfoinstance.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static MonitorInfofrom(CompositeData cd)Receives aCompositeDatarepresenting aMonitorInfoobject and attempts to return the rootMonitorInfoinstance.intgetLockedStackDepth()Returns an integer which is the number of frames deep into the stack where the monitor locking took place.StackTraceElementgetLockedStackFrame()The completeStackTraceElementin which the monitor was locked.-
Methods declared in class java.lang.management.LockInfo
getClassName, getIdentityHashCode, toString
-
-
-
-
Constructor Detail
-
MonitorInfo
public MonitorInfo(String className, int identityHashCode, int stackDepth, StackTraceElement stackFrame)
Creates a newMonitorInfoinstance.- Parameters:
className- the name (including the package prefix) of the associated monitor lock object's classidentityHashCode- the value of the associated monitor lock object's identity hash code. This amounts to the result of callingSystem.identityHashCode(Object)with the monitor lock object as the sole argument.stackDepth- the number of frames deep in the stack where the locking of the monitor took placestackFrame- the complete stack frame at which the locking of the monitor occurred- Throws:
IllegalArgumentException- if either of the following two conditions apply:- the supplied
stackFrameis non-nullyet the value ofstackDepthis less than zero - the supplied
stackFrameisnullyet the value ofstackDepthis zero or greater
- the supplied
-
-
Method Detail
-
getLockedStackDepth
public int getLockedStackDepth()
Returns an integer which is the number of frames deep into the stack where the monitor locking took place.- Returns:
- the number of frames into the stack trace at which point the monitor object locking too place
-
getLockedStackFrame
public StackTraceElement getLockedStackFrame()
The completeStackTraceElementin which the monitor was locked.- Returns:
- the
StackTraceElementin which the associated monitor was locked
-
from
public static MonitorInfo from(CompositeData cd)
Receives aCompositeDatarepresenting aMonitorInfoobject and attempts to return the rootMonitorInfoinstance.- Parameters:
cd- aCompositeDatathat represents aMonitorInfo.- Returns:
- if
cdis non-null, returns a new instance ofMonitorInfo. Ifcdisnull, returnsnull. - Throws:
IllegalArgumentException- if argumentcddoes not correspond to aMonitorInfowith the expected attributes of aLockInfo-className(java.lang.String) andidentityHashCode(java.lang.Integer) - plus the following:lockedStackFrame(javax.management.openmbean.CompositeData)lockedStackDepth(java.lang.Integer)
lockedStackFrameattribute must correspond to ajava.lang.StackTraceElementwhich has the following attributes:moduleName(java.lang.String)moduleVersion(java.lang.String)className(java.lang.String)methodName(java.lang.String)fileName(java.lang.String)lineNumber(java.lang.Integer)nativeMethod(java.lang.Boolean)
-
-