Class MonitorInfo

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 Details

    • 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 Details

    • 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)