Class MonitorInfo


  • public class MonitorInfo
    extends LockInfo
    This class represents information about objects locked via a synchronized method or block.
    Since:
    1.6
    • Constructor Detail

      • MonitorInfo

        public MonitorInfo​(String className,
                           int identityHashCode,
                           int stackDepth,
                           StackTraceElement stackFrame)
        Creates a new MonitorInfo instance.
        Parameters:
        className - the name (including the package prefix) of the associated monitor lock object's class
        identityHashCode - the value of the associated monitor lock object's identity hash code. This amounts to the result of calling System.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 place
        stackFrame - the complete stack frame at which the locking of the monitor occurred
        Throws:
        IllegalArgumentException - if either of the following two conditions apply:
        • the supplied stackFrame is non-null yet the value of stackDepth is less than zero
        • the supplied stackFrame is null yet the value of stackDepth is zero or greater
    • 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 complete StackTraceElement in which the monitor was locked.
        Returns:
        the StackTraceElement in which the associated monitor was locked
      • from

        public static MonitorInfo from​(CompositeData cd)
        Receives a CompositeData representing a MonitorInfo object and attempts to return the root MonitorInfo instance.
        Parameters:
        cd - a CompositeData that represents a MonitorInfo.
        Returns:
        if cd is non- null, returns a new instance of MonitorInfo. If cd is null, returns null.
        Throws:
        IllegalArgumentException - if argument cd does not correspond to a MonitorInfo with the expected attributes of a LockInfo - className(java.lang.String) and identityHashCode(java.lang.Integer) -  plus the following:
        • lockedStackFrame(javax.management.openmbean.CompositeData)
        • lockedStackDepth( java.lang.Integer)
        The lockedStackFrame attribute must correspond to a java.lang.StackTraceElement which 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)