public abstract class javax.management.monitor.Monitor extends javax.management.NotificationBroadcasterSupport implements javax.management.monitor.MonitorMBean, javax.management.MBeanRegistration
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: javax.management.monitor.Monitor
super_class: javax.management.NotificationBroadcasterSupport
{
private java.lang.String observedAttribute;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private long granularityPeriod;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private boolean isActive;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private final java.util.concurrent.atomic.AtomicLong sequenceNumber;
descriptor: Ljava/util/concurrent/atomic/AtomicLong;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private boolean isComplexTypeAttribute;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.lang.String firstAttribute;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private final java.util.List<java.lang.String> remainingAttributes;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Ljava/lang/String;>;
private static final java.security.AccessControlContext noPermissionsACC;
descriptor: Ljava/security/AccessControlContext;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private volatile java.security.AccessControlContext acc;
descriptor: Ljava/security/AccessControlContext;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private static final java.util.concurrent.ScheduledExecutorService scheduler;
descriptor: Ljava/util/concurrent/ScheduledExecutorService;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.Map<java.util.concurrent.ThreadPoolExecutor, java.lang.Void> executors;
descriptor: Ljava/util/Map;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Map<Ljava/util/concurrent/ThreadPoolExecutor;Ljava/lang/Void;>;
private static final java.lang.Object executorsLock;
descriptor: Ljava/lang/Object;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int maximumPoolSize;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private java.util.concurrent.Future<?> monitorFuture;
descriptor: Ljava/util/concurrent/Future;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/concurrent/Future<*>;
private final javax.management.monitor.Monitor$SchedulerTask schedulerTask;
descriptor: Ljavax/management/monitor/Monitor$SchedulerTask;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.util.concurrent.ScheduledFuture<?> schedulerFuture;
descriptor: Ljava/util/concurrent/ScheduledFuture;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/concurrent/ScheduledFuture<*>;
protected static final int capacityIncrement;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 16
protected int elementCount;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected int alreadyNotified;
descriptor: I
flags: (0x0004) ACC_PROTECTED
RuntimeVisibleAnnotations:
java.lang.Deprecated()
protected int[] alreadyNotifieds;
descriptor: [I
flags: (0x0004) ACC_PROTECTED
protected javax.management.MBeanServer server;
descriptor: Ljavax/management/MBeanServer;
flags: (0x0004) ACC_PROTECTED
protected static final int RESET_FLAGS_ALREADY_NOTIFIED;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 0
protected static final int OBSERVED_OBJECT_ERROR_NOTIFIED;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 1
protected static final int OBSERVED_ATTRIBUTE_ERROR_NOTIFIED;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 2
protected static final int OBSERVED_ATTRIBUTE_TYPE_ERROR_NOTIFIED;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 4
protected static final int RUNTIME_ERROR_NOTIFIED;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 8
protected java.lang.String dbgTag;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
RuntimeVisibleAnnotations:
java.lang.Deprecated()
final java.util.List<javax.management.monitor.Monitor$ObservedObject> observedObjects;
descriptor: Ljava/util/List;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/List<Ljavax/management/monitor/Monitor$ObservedObject;>;
static final int THRESHOLD_ERROR_NOTIFIED;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 16
static final java.lang.Integer INTEGER_ZERO;
descriptor: Ljava/lang/Integer;
flags: (0x0018) ACC_STATIC, ACC_FINAL
private static volatile int[] $SWITCH_TABLE$javax$management$monitor$Monitor$NumericalType;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=9, locals=3, args_size=0
0: new java.security.AccessControlContext
dup
1: iconst_1
anewarray java.security.ProtectionDomain
dup
iconst_0
new java.security.ProtectionDomain
dup
aconst_null
aconst_null
invokespecial java.security.ProtectionDomain.<init>:(Ljava/security/CodeSource;Ljava/security/PermissionCollection;)V
aastore
2: invokespecial java.security.AccessControlContext.<init>:([Ljava/security/ProtectionDomain;)V
3: putstatic javax.management.monitor.Monitor.noPermissionsACC:Ljava/security/AccessControlContext;
4: new javax.management.monitor.Monitor$DaemonThreadFactory
dup
ldc "Scheduler"
invokespecial javax.management.monitor.Monitor$DaemonThreadFactory.<init>:(Ljava/lang/String;)V
5: invokestatic java.util.concurrent.Executors.newSingleThreadScheduledExecutor:(Ljava/util/concurrent/ThreadFactory;)Ljava/util/concurrent/ScheduledExecutorService;
6: putstatic javax.management.monitor.Monitor.scheduler:Ljava/util/concurrent/ScheduledExecutorService;
7: new java.util.WeakHashMap
dup
invokespecial java.util.WeakHashMap.<init>:()V
8: putstatic javax.management.monitor.Monitor.executors:Ljava/util/Map;
9: new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putstatic javax.management.monitor.Monitor.executorsLock:Ljava/lang/Object;
10: new com.sun.jmx.mbeanserver.GetPropertyAction
dup
ldc "jmx.x.monitor.maximum.pool.size"
invokespecial com.sun.jmx.mbeanserver.GetPropertyAction.<init>:(Ljava/lang/String;)V
11: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
astore 0
start local 0 12: aload 0
ifnull 14
13: aload 0
invokevirtual java.lang.String.trim:()Ljava/lang/String;
invokevirtual java.lang.String.length:()I
ifne 16
14: StackMap locals: java.lang.String
StackMap stack:
bipush 10
putstatic javax.management.monitor.Monitor.maximumPoolSize:I
15: goto 35
16: StackMap locals:
StackMap stack:
bipush 10
istore 1
start local 1 17: aload 0
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 1
18: goto 31
StackMap locals: java.lang.String int
StackMap stack: java.lang.NumberFormatException
19: astore 2
start local 2 20: getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 30
21: getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
ldc Ljavax/management/monitor/Monitor;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
22: ldc "<static initializer>"
23: ldc "Wrong value for jmx.x.monitor.maximum.pool.size system property"
24: aload 2
25: invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
26: getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
ldc Ljavax/management/monitor/Monitor;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
27: ldc "<static initializer>"
28: ldc "jmx.x.monitor.maximum.pool.size defaults to 10"
29: invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
30: StackMap locals: java.lang.NumberFormatException
StackMap stack:
bipush 10
istore 1
end local 2 31: StackMap locals:
StackMap stack:
iload 1
iconst_1
if_icmpge 34
32: iconst_1
putstatic javax.management.monitor.Monitor.maximumPoolSize:I
33: goto 35
34: StackMap locals:
StackMap stack:
iload 1
putstatic javax.management.monitor.Monitor.maximumPoolSize:I
end local 1 end local 0 35: StackMap locals:
StackMap stack:
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
putstatic javax.management.monitor.Monitor.INTEGER_ZERO:Ljava/lang/Integer;
return
LocalVariableTable:
Start End Slot Name Signature
12 35 0 maximumPoolSizeStr Ljava/lang/String;
17 35 1 maximumPoolSizeTmp I
20 31 2 e Ljava/lang/NumberFormatException;
Exception table:
from to target type
17 18 19 Class java.lang.NumberFormatException
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokespecial javax.management.NotificationBroadcasterSupport.<init>:()V
1: aload 0
ldc 10000
putfield javax.management.monitor.Monitor.granularityPeriod:J
2: aload 0
iconst_0
putfield javax.management.monitor.Monitor.isActive:Z
3: aload 0
new java.util.concurrent.atomic.AtomicLong
dup
invokespecial java.util.concurrent.atomic.AtomicLong.<init>:()V
putfield javax.management.monitor.Monitor.sequenceNumber:Ljava/util/concurrent/atomic/AtomicLong;
4: aload 0
iconst_0
putfield javax.management.monitor.Monitor.isComplexTypeAttribute:Z
5: aload 0
6: new java.util.concurrent.CopyOnWriteArrayList
dup
invokespecial java.util.concurrent.CopyOnWriteArrayList.<init>:()V
putfield javax.management.monitor.Monitor.remainingAttributes:Ljava/util/List;
7: aload 0
getstatic javax.management.monitor.Monitor.noPermissionsACC:Ljava/security/AccessControlContext;
putfield javax.management.monitor.Monitor.acc:Ljava/security/AccessControlContext;
8: aload 0
new javax.management.monitor.Monitor$SchedulerTask
dup
aload 0
invokespecial javax.management.monitor.Monitor$SchedulerTask.<init>:(Ljavax/management/monitor/Monitor;)V
putfield javax.management.monitor.Monitor.schedulerTask:Ljavax/management/monitor/Monitor$SchedulerTask;
9: aload 0
iconst_0
putfield javax.management.monitor.Monitor.elementCount:I
10: aload 0
iconst_0
putfield javax.management.monitor.Monitor.alreadyNotified:I
11: aload 0
bipush 16
newarray 10
putfield javax.management.monitor.Monitor.alreadyNotifieds:[I
12: aload 0
ldc Ljavax/management/monitor/Monitor;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
putfield javax.management.monitor.Monitor.dbgTag:Ljava/lang/String;
13: aload 0
14: new java.util.concurrent.CopyOnWriteArrayList
dup
invokespecial java.util.concurrent.CopyOnWriteArrayList.<init>:()V
putfield javax.management.monitor.Monitor.observedObjects:Ljava/util/List;
15: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Ljavax/management/monitor/Monitor;
public javax.management.ObjectName preRegister(javax.management.MBeanServer, javax.management.ObjectName);
descriptor: (Ljavax/management/MBeanServer;Ljavax/management/ObjectName;)Ljavax/management/ObjectName;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
ldc Ljavax/management/monitor/Monitor;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
1: ldc "preRegister(MBeanServer, ObjectName)"
2: ldc "initialize the reference on the MBean server"
3: invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
4: aload 0
aload 1
putfield javax.management.monitor.Monitor.server:Ljavax/management/MBeanServer;
5: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljavax/management/monitor/Monitor;
0 6 1 server Ljavax/management/MBeanServer;
0 6 2 name Ljavax/management/ObjectName;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
server
name
public void postRegister(java.lang.Boolean);
descriptor: (Ljava/lang/Boolean;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavax/management/monitor/Monitor;
0 1 1 registrationDone Ljava/lang/Boolean;
MethodParameters:
Name Flags
registrationDone
public void preDeregister();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
ldc Ljavax/management/monitor/Monitor;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
1: ldc "preDeregister()"
ldc "stop the monitor"
2: invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
3: aload 0
invokevirtual javax.management.monitor.Monitor.stop:()V
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljavax/management/monitor/Monitor;
Exceptions:
throws java.lang.Exception
public void postDeregister();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavax/management/monitor/Monitor;
public abstract void start();
descriptor: ()V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract void stop();
descriptor: ()V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public synchronized javax.management.ObjectName getObservedObject();
descriptor: ()Ljavax/management/ObjectName;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield javax.management.monitor.Monitor.observedObjects:Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifeq 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield javax.management.monitor.Monitor.observedObjects:Ljava/util/List;
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast javax.management.monitor.Monitor$ObservedObject
invokevirtual javax.management.monitor.Monitor$ObservedObject.getObservedObject:()Ljavax/management/ObjectName;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljavax/management/monitor/Monitor;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public synchronized void setObservedObject(javax.management.ObjectName);
descriptor: (Ljavax/management/ObjectName;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
ldc "Null observed object"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield javax.management.monitor.Monitor.observedObjects:Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
if_icmpne 4
aload 0
aload 1
invokevirtual javax.management.monitor.Monitor.containsObservedObject:(Ljavax/management/ObjectName;)Z
ifeq 4
3: return
4: StackMap locals:
StackMap stack:
aload 0
getfield javax.management.monitor.Monitor.observedObjects:Ljava/util/List;
invokeinterface java.util.List.clear:()V
5: aload 0
aload 1
invokevirtual javax.management.monitor.Monitor.addObservedObject:(Ljavax/management/ObjectName;)V
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljavax/management/monitor/Monitor;
0 7 1 object Ljavax/management/ObjectName;
Exceptions:
throws java.lang.IllegalArgumentException
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
object
public synchronized void addObservedObject(javax.management.ObjectName);
descriptor: (Ljavax/management/ObjectName;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
ldc "Null observed object"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual javax.management.monitor.Monitor.containsObservedObject:(Ljavax/management/ObjectName;)Z
ifeq 4
3: return
4: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual javax.management.monitor.Monitor.createObservedObject:(Ljavax/management/ObjectName;)Ljavax/management/monitor/Monitor$ObservedObject;
astore 2
start local 2 5: aload 2
iconst_0
invokevirtual javax.management.monitor.Monitor$ObservedObject.setAlreadyNotified:(I)V
6: aload 2
getstatic javax.management.monitor.Monitor.INTEGER_ZERO:Ljava/lang/Integer;
invokevirtual javax.management.monitor.Monitor$ObservedObject.setDerivedGauge:(Ljava/lang/Object;)V
7: aload 2
invokestatic java.lang.System.currentTimeMillis:()J
invokevirtual javax.management.monitor.Monitor$ObservedObject.setDerivedGaugeTimeStamp:(J)V
8: aload 0
getfield javax.management.monitor.Monitor.observedObjects:Ljava/util/List;
aload 2
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
9: aload 0
invokevirtual javax.management.monitor.Monitor.createAlreadyNotified:()V
10: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljavax/management/monitor/Monitor;
0 11 1 object Ljavax/management/ObjectName;
5 11 2 o Ljavax/management/monitor/Monitor$ObservedObject;
Exceptions:
throws java.lang.IllegalArgumentException
MethodParameters:
Name Flags
object
public synchronized void removeObservedObject(javax.management.ObjectName);
descriptor: (Ljavax/management/ObjectName;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual javax.management.monitor.Monitor.getObservedObject:(Ljavax/management/ObjectName;)Ljavax/management/monitor/Monitor$ObservedObject;
astore 2
start local 2 3: aload 2
ifnull 6
4: aload 0
getfield javax.management.monitor.Monitor.observedObjects:Ljava/util/List;
aload 2
invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
pop
5: aload 0
invokevirtual javax.management.monitor.Monitor.createAlreadyNotified:()V
6: StackMap locals: javax.management.monitor.Monitor$ObservedObject
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljavax/management/monitor/Monitor;
0 7 1 object Ljavax/management/ObjectName;
3 7 2 o Ljavax/management/monitor/Monitor$ObservedObject;
MethodParameters:
Name Flags
object
public synchronized boolean containsObservedObject(javax.management.ObjectName);
descriptor: (Ljavax/management/ObjectName;)Z
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual javax.management.monitor.Monitor.getObservedObject:(Ljavax/management/ObjectName;)Ljavax/management/monitor/Monitor$ObservedObject;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljavax/management/monitor/Monitor;
0 2 1 object Ljavax/management/ObjectName;
MethodParameters:
Name Flags
object
public synchronized javax.management.ObjectName[] getObservedObjects();
descriptor: ()[Ljavax/management/ObjectName;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
getfield javax.management.monitor.Monitor.observedObjects:Ljava/util/List;
invokeinterface java.util.List.size:()I
anewarray javax.management.ObjectName
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 5
3: StackMap locals: javax.management.ObjectName[] int
StackMap stack:
aload 1
iload 2
aload 0
getfield javax.management.monitor.Monitor.observedObjects:Ljava/util/List;
iload 2
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast javax.management.monitor.Monitor$ObservedObject
invokevirtual javax.management.monitor.Monitor$ObservedObject.getObservedObject:()Ljavax/management/ObjectName;
aastore
4: iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
aload 1
arraylength
if_icmplt 3
end local 2 6: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljavax/management/monitor/Monitor;
1 7 1 names [Ljavax/management/ObjectName;
2 6 2 i I
public synchronized java.lang.String getObservedAttribute();
descriptor: ()Ljava/lang/String;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield javax.management.monitor.Monitor.observedAttribute:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavax/management/monitor/Monitor;
public void setObservedAttribute(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
ldc "Null observed attribute"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
dup
astore 2
monitorenter
3: aload 0
getfield javax.management.monitor.Monitor.observedAttribute:Ljava/lang/String;
ifnull 7
4: aload 0
getfield javax.management.monitor.Monitor.observedAttribute:Ljava/lang/String;
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 7
5: aload 2
monitorexit
6: return
7: StackMap locals: javax.management.monitor.Monitor
StackMap stack:
aload 0
aload 1
putfield javax.management.monitor.Monitor.observedAttribute:Ljava/lang/String;
8: aload 0
invokevirtual javax.management.monitor.Monitor.cleanupIsComplexTypeAttribute:()V
9: iconst_0
istore 3
start local 3 10: aload 0
getfield javax.management.monitor.Monitor.observedObjects:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 15
StackMap locals: javax.management.monitor.Monitor java.lang.String javax.management.monitor.Monitor int top java.util.Iterator
StackMap stack:
11: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.management.monitor.Monitor$ObservedObject
astore 4
start local 4 12: aload 0
aload 4
iload 3
iinc 3 1
13: bipush 6
14: invokevirtual javax.management.monitor.Monitor.resetAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;II)V
end local 4 15: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
end local 3 16: aload 2
monitorexit
17: goto 20
StackMap locals: javax.management.monitor.Monitor java.lang.String javax.management.monitor.Monitor
StackMap stack: java.lang.Throwable
18: aload 2
monitorexit
19: athrow
20: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Ljavax/management/monitor/Monitor;
0 21 1 attribute Ljava/lang/String;
10 16 3 index I
12 15 4 o Ljavax/management/monitor/Monitor$ObservedObject;
Exception table:
from to target type
3 6 18 any
7 17 18 any
18 19 18 any
Exceptions:
throws java.lang.IllegalArgumentException
MethodParameters:
Name Flags
attribute
public synchronized long getGranularityPeriod();
descriptor: ()J
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield javax.management.monitor.Monitor.granularityPeriod:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavax/management/monitor/Monitor;
public synchronized void setGranularityPeriod(long);
descriptor: (J)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: lload 1
lconst_0
lcmp
ifgt 2
1: new java.lang.IllegalArgumentException
dup
ldc "Nonpositive granularity period"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield javax.management.monitor.Monitor.granularityPeriod:J
lload 1
lcmp
ifne 4
3: return
4: StackMap locals:
StackMap stack:
aload 0
lload 1
putfield javax.management.monitor.Monitor.granularityPeriod:J
5: aload 0
invokevirtual javax.management.monitor.Monitor.isActive:()Z
ifeq 11
6: aload 0
invokevirtual javax.management.monitor.Monitor.cleanupFutures:()V
7: aload 0
getstatic javax.management.monitor.Monitor.scheduler:Ljava/util/concurrent/ScheduledExecutorService;
aload 0
getfield javax.management.monitor.Monitor.schedulerTask:Ljavax/management/monitor/Monitor$SchedulerTask;
8: lload 1
9: getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
10: invokeinterface java.util.concurrent.ScheduledExecutorService.schedule:(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
putfield javax.management.monitor.Monitor.schedulerFuture:Ljava/util/concurrent/ScheduledFuture;
11: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljavax/management/monitor/Monitor;
0 12 1 period J
Exceptions:
throws java.lang.IllegalArgumentException
MethodParameters:
Name Flags
period
public synchronized boolean isActive();
descriptor: ()Z
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield javax.management.monitor.Monitor.isActive:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavax/management/monitor/Monitor;
void doStart();
descriptor: ()V
flags: (0x0000)
Code:
stack=6, locals=2, args_size=1
start local 0 0: getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
ldc Ljavax/management/monitor/Monitor;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
1: ldc "doStart()"
ldc "start the monitor"
2: invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
3: aload 0
dup
astore 1
monitorenter
4: aload 0
invokevirtual javax.management.monitor.Monitor.isActive:()Z
ifeq 10
5: getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
ldc Ljavax/management/monitor/Monitor;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
6: ldc "doStart()"
ldc "the monitor is already active"
7: invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
8: aload 1
monitorexit
9: return
10: StackMap locals: javax.management.monitor.Monitor
StackMap stack:
aload 0
iconst_1
putfield javax.management.monitor.Monitor.isActive:Z
11: aload 0
invokevirtual javax.management.monitor.Monitor.cleanupIsComplexTypeAttribute:()V
12: aload 0
invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
putfield javax.management.monitor.Monitor.acc:Ljava/security/AccessControlContext;
13: aload 0
invokevirtual javax.management.monitor.Monitor.cleanupFutures:()V
14: aload 0
getfield javax.management.monitor.Monitor.schedulerTask:Ljavax/management/monitor/Monitor$SchedulerTask;
new javax.management.monitor.Monitor$MonitorTask
dup
aload 0
invokespecial javax.management.monitor.Monitor$MonitorTask.<init>:(Ljavax/management/monitor/Monitor;)V
invokevirtual javax.management.monitor.Monitor$SchedulerTask.setMonitorTask:(Ljavax/management/monitor/Monitor$MonitorTask;)V
15: aload 0
getstatic javax.management.monitor.Monitor.scheduler:Ljava/util/concurrent/ScheduledExecutorService;
aload 0
getfield javax.management.monitor.Monitor.schedulerTask:Ljavax/management/monitor/Monitor$SchedulerTask;
16: aload 0
invokevirtual javax.management.monitor.Monitor.getGranularityPeriod:()J
17: getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
18: invokeinterface java.util.concurrent.ScheduledExecutorService.schedule:(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
putfield javax.management.monitor.Monitor.schedulerFuture:Ljava/util/concurrent/ScheduledFuture;
19: aload 1
monitorexit
20: goto 23
StackMap locals:
StackMap stack: java.lang.Throwable
21: aload 1
monitorexit
22: athrow
23: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Ljavax/management/monitor/Monitor;
Exception table:
from to target type
4 9 21 any
10 20 21 any
21 22 21 any
void doStop();
descriptor: ()V
flags: (0x0000)
Code:
stack=5, locals=2, args_size=1
start local 0 0: getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
ldc Ljavax/management/monitor/Monitor;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
1: ldc "doStop()"
ldc "stop the monitor"
2: invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
3: aload 0
dup
astore 1
monitorenter
4: aload 0
invokevirtual javax.management.monitor.Monitor.isActive:()Z
ifne 10
5: getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
ldc Ljavax/management/monitor/Monitor;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
6: ldc "doStop()"
ldc "the monitor is not active"
7: invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
8: aload 1
monitorexit
9: return
10: StackMap locals: javax.management.monitor.Monitor
StackMap stack:
aload 0
iconst_0
putfield javax.management.monitor.Monitor.isActive:Z
11: aload 0
invokevirtual javax.management.monitor.Monitor.cleanupFutures:()V
12: aload 0
getstatic javax.management.monitor.Monitor.noPermissionsACC:Ljava/security/AccessControlContext;
putfield javax.management.monitor.Monitor.acc:Ljava/security/AccessControlContext;
13: aload 0
invokevirtual javax.management.monitor.Monitor.cleanupIsComplexTypeAttribute:()V
14: aload 1
monitorexit
15: goto 18
StackMap locals:
StackMap stack: java.lang.Throwable
16: aload 1
monitorexit
17: athrow
18: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Ljavax/management/monitor/Monitor;
Exception table:
from to target type
4 9 16 any
10 15 16 any
16 17 16 any
synchronized java.lang.Object getDerivedGauge(javax.management.ObjectName);
descriptor: (Ljavax/management/ObjectName;)Ljava/lang/Object;
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual javax.management.monitor.Monitor.getObservedObject:(Ljavax/management/ObjectName;)Ljavax/management/monitor/Monitor$ObservedObject;
astore 2
start local 2 1: aload 2
ifnonnull 2
aconst_null
goto 3
StackMap locals: javax.management.monitor.Monitor$ObservedObject
StackMap stack:
2: aload 2
invokevirtual javax.management.monitor.Monitor$ObservedObject.getDerivedGauge:()Ljava/lang/Object;
StackMap locals:
StackMap stack: java.lang.Object
3: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljavax/management/monitor/Monitor;
0 4 1 object Ljavax/management/ObjectName;
1 4 2 o Ljavax/management/monitor/Monitor$ObservedObject;
MethodParameters:
Name Flags
object
synchronized long getDerivedGaugeTimeStamp(javax.management.ObjectName);
descriptor: (Ljavax/management/ObjectName;)J
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual javax.management.monitor.Monitor.getObservedObject:(Ljavax/management/ObjectName;)Ljavax/management/monitor/Monitor$ObservedObject;
astore 2
start local 2 1: aload 2
ifnonnull 2
lconst_0
goto 3
StackMap locals: javax.management.monitor.Monitor$ObservedObject
StackMap stack:
2: aload 2
invokevirtual javax.management.monitor.Monitor$ObservedObject.getDerivedGaugeTimeStamp:()J
StackMap locals:
StackMap stack: long
3: lreturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljavax/management/monitor/Monitor;
0 4 1 object Ljavax/management/ObjectName;
1 4 2 o Ljavax/management/monitor/Monitor$ObservedObject;
MethodParameters:
Name Flags
object
java.lang.Object getAttribute(javax.management.MBeanServerConnection, javax.management.ObjectName, java.lang.String);
descriptor: (Ljavax/management/MBeanServerConnection;Ljavax/management/ObjectName;Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=3, locals=13, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
dup
astore 5
monitorenter
1: aload 0
invokevirtual javax.management.monitor.Monitor.isActive:()Z
ifne 5
2: new java.lang.IllegalArgumentException
dup
3: ldc "The monitor has been stopped"
4: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: javax.management.monitor.Monitor javax.management.MBeanServerConnection javax.management.ObjectName java.lang.String top javax.management.monitor.Monitor
StackMap stack:
aload 3
aload 0
invokevirtual javax.management.monitor.Monitor.getObservedAttribute:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 9
6: new java.lang.IllegalArgumentException
dup
7: ldc "The observed attribute has been changed"
8: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
aload 0
getfield javax.management.monitor.Monitor.firstAttribute:Ljava/lang/String;
ifnonnull 11
aload 3
bipush 46
invokevirtual java.lang.String.indexOf:(I)I
iconst_m1
if_icmpeq 11
10: iconst_1
goto 12
StackMap locals:
StackMap stack:
11: iconst_0
StackMap locals:
StackMap stack: int
12: istore 4
start local 4 13: aload 5
monitorexit
14: goto 17
end local 4 StackMap locals:
StackMap stack: java.lang.Throwable
15: aload 5
monitorexit
16: athrow
start local 4 17: StackMap locals: javax.management.monitor.Monitor javax.management.MBeanServerConnection javax.management.ObjectName java.lang.String int
StackMap stack:
iload 4
ifeq 22
18: aload 1
aload 2
invokeinterface javax.management.MBeanServerConnection.getMBeanInfo:(Ljavax/management/ObjectName;)Ljavax/management/MBeanInfo;
astore 5
start local 5 19: goto 23
end local 5 StackMap locals:
StackMap stack: javax.management.IntrospectionException
20: astore 6
start local 6 21: new java.lang.IllegalArgumentException
dup
aload 6
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 6 22: StackMap locals:
StackMap stack:
aconst_null
astore 5
start local 5 23: StackMap locals: javax.management.MBeanInfo
StackMap stack:
aload 0
dup
astore 7
monitorenter
24: aload 0
invokevirtual javax.management.monitor.Monitor.isActive:()Z
ifne 28
25: new java.lang.IllegalArgumentException
dup
26: ldc "The monitor has been stopped"
27: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
28: StackMap locals: javax.management.monitor.Monitor javax.management.MBeanServerConnection javax.management.ObjectName java.lang.String int javax.management.MBeanInfo top javax.management.monitor.Monitor
StackMap stack:
aload 3
aload 0
invokevirtual javax.management.monitor.Monitor.getObservedAttribute:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 32
29: new java.lang.IllegalArgumentException
dup
30: ldc "The observed attribute has been changed"
31: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
32: StackMap locals:
StackMap stack:
aload 0
getfield javax.management.monitor.Monitor.firstAttribute:Ljava/lang/String;
ifnonnull 53
33: aload 3
bipush 46
invokevirtual java.lang.String.indexOf:(I)I
iconst_m1
if_icmpeq 52
34: aload 5
invokevirtual javax.management.MBeanInfo.getAttributes:()[Ljavax/management/MBeanAttributeInfo;
astore 8
start local 8 35: aload 8
dup
astore 12
arraylength
istore 11
iconst_0
istore 10
goto 41
StackMap locals: javax.management.monitor.Monitor javax.management.MBeanServerConnection javax.management.ObjectName java.lang.String int javax.management.MBeanInfo top javax.management.monitor.Monitor javax.management.MBeanAttributeInfo[] top int int javax.management.MBeanAttributeInfo[]
StackMap stack:
36: aload 12
iload 10
aaload
astore 9
start local 9 37: aload 3
aload 9
invokevirtual javax.management.MBeanAttributeInfo.getName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 40
38: aload 0
aload 3
putfield javax.management.monitor.Monitor.firstAttribute:Ljava/lang/String;
39: goto 42
end local 9 40: StackMap locals:
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
41: iload 10
iload 11
if_icmplt 36
42: StackMap locals: javax.management.monitor.Monitor javax.management.MBeanServerConnection javax.management.ObjectName java.lang.String int javax.management.MBeanInfo top javax.management.monitor.Monitor javax.management.MBeanAttributeInfo[]
StackMap stack:
aload 0
getfield javax.management.monitor.Monitor.firstAttribute:Ljava/lang/String;
ifnonnull 53
43: aload 3
ldc "\\."
iconst_m1
invokevirtual java.lang.String.split:(Ljava/lang/String;I)[Ljava/lang/String;
astore 9
start local 9 44: aload 0
aload 9
iconst_0
aaload
putfield javax.management.monitor.Monitor.firstAttribute:Ljava/lang/String;
45: iconst_1
istore 10
start local 10 46: goto 49
47: StackMap locals: java.lang.String[] int
StackMap stack:
aload 0
getfield javax.management.monitor.Monitor.remainingAttributes:Ljava/util/List;
aload 9
iload 10
aaload
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
48: iinc 10 1
StackMap locals:
StackMap stack:
49: iload 10
aload 9
arraylength
if_icmplt 47
end local 10 50: aload 0
iconst_1
putfield javax.management.monitor.Monitor.isComplexTypeAttribute:Z
end local 9 end local 8 51: goto 53
52: StackMap locals:
StackMap stack:
aload 0
aload 3
putfield javax.management.monitor.Monitor.firstAttribute:Ljava/lang/String;
53: StackMap locals:
StackMap stack:
aload 0
getfield javax.management.monitor.Monitor.firstAttribute:Ljava/lang/String;
astore 6
start local 6 54: aload 7
monitorexit
55: goto 58
end local 6 StackMap locals:
StackMap stack: java.lang.Throwable
56: aload 7
monitorexit
57: athrow
start local 6 58: StackMap locals: javax.management.monitor.Monitor javax.management.MBeanServerConnection javax.management.ObjectName java.lang.String int javax.management.MBeanInfo java.lang.String
StackMap stack:
aload 1
aload 2
aload 6
invokeinterface javax.management.MBeanServerConnection.getAttribute:(Ljavax/management/ObjectName;Ljava/lang/String;)Ljava/lang/Object;
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 59 0 this Ljavax/management/monitor/Monitor;
0 59 1 mbsc Ljavax/management/MBeanServerConnection;
0 59 2 object Ljavax/management/ObjectName;
0 59 3 attribute Ljava/lang/String;
13 15 4 lookupMBeanInfo Z
17 59 4 lookupMBeanInfo Z
19 20 5 mbi Ljavax/management/MBeanInfo;
23 59 5 mbi Ljavax/management/MBeanInfo;
21 22 6 e Ljavax/management/IntrospectionException;
54 56 6 fa Ljava/lang/String;
58 59 6 fa Ljava/lang/String;
35 51 8 mbaiArray [Ljavax/management/MBeanAttributeInfo;
37 40 9 mbai Ljavax/management/MBeanAttributeInfo;
44 51 9 tokens [Ljava/lang/String;
46 50 10 i I
Exception table:
from to target type
1 14 15 any
15 16 15 any
18 19 20 Class javax.management.IntrospectionException
24 55 56 any
56 57 56 any
Exceptions:
throws javax.management.AttributeNotFoundException, javax.management.InstanceNotFoundException, javax.management.MBeanException, javax.management.ReflectionException, java.io.IOException
MethodParameters:
Name Flags
mbsc
object
attribute
java.lang.Comparable<?> getComparableFromAttribute(javax.management.ObjectName, java.lang.String, );
descriptor: (Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Comparable;
flags: (0x0000)
Code:
stack=2, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield javax.management.monitor.Monitor.isComplexTypeAttribute:Z
ifeq 7
1: aload 3
astore 4
start local 4 2: aload 0
getfield javax.management.monitor.Monitor.remainingAttributes:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 5
StackMap locals: javax.management.monitor.Monitor javax.management.ObjectName java.lang.String java.lang.Object java.lang.Object top java.util.Iterator
StackMap stack:
3: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 5
start local 5 4: aload 4
aload 5
invokestatic com.sun.jmx.mbeanserver.Introspector.elementFromComplex:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
astore 4
end local 5 5: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
6: aload 4
checkcast java.lang.Comparable
areturn
end local 4 7: StackMap locals: javax.management.monitor.Monitor javax.management.ObjectName java.lang.String java.lang.Object
StackMap stack:
aload 3
checkcast java.lang.Comparable
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljavax/management/monitor/Monitor;
0 8 1 object Ljavax/management/ObjectName;
0 8 2 attribute Ljava/lang/String;
0 8 3 value Ljava/lang/Object;
2 7 4 v Ljava/lang/Object;
4 5 5 attr Ljava/lang/String;
Exceptions:
throws javax.management.AttributeNotFoundException
Signature: (Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Comparable<*>;
MethodParameters:
Name Flags
object
attribute
value
boolean isComparableTypeValid(javax.management.ObjectName, java.lang.String, java.lang.Comparable<?>);
descriptor: (Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/Comparable;)Z
flags: (0x0000)
Code:
stack=1, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavax/management/monitor/Monitor;
0 1 1 object Ljavax/management/ObjectName;
0 1 2 attribute Ljava/lang/String;
0 1 3 value Ljava/lang/Comparable<*>;
Signature: (Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/Comparable<*>;)Z
MethodParameters:
Name Flags
object
attribute
value
java.lang.String buildErrorNotification(javax.management.ObjectName, java.lang.String, java.lang.Comparable<?>);
descriptor: (Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/Comparable;)Ljava/lang/String;
flags: (0x0000)
Code:
stack=1, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavax/management/monitor/Monitor;
0 1 1 object Ljavax/management/ObjectName;
0 1 2 attribute Ljava/lang/String;
0 1 3 value Ljava/lang/Comparable<*>;
Signature: (Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/Comparable<*>;)Ljava/lang/String;
MethodParameters:
Name Flags
object
attribute
value
void onErrorNotification(javax.management.monitor.MonitorNotification);
descriptor: (Ljavax/management/monitor/MonitorNotification;)V
flags: (0x0000)
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavax/management/monitor/Monitor;
0 1 1 notification Ljavax/management/monitor/MonitorNotification;
MethodParameters:
Name Flags
notification
java.lang.Comparable<?> getDerivedGaugeFromComparable(javax.management.ObjectName, java.lang.String, java.lang.Comparable<?>);
descriptor: (Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/Comparable;)Ljava/lang/Comparable;
flags: (0x0000)
Code:
stack=1, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavax/management/monitor/Monitor;
0 1 1 object Ljavax/management/ObjectName;
0 1 2 attribute Ljava/lang/String;
0 1 3 value Ljava/lang/Comparable<*>;
Signature: (Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/Comparable<*>;)Ljava/lang/Comparable<*>;
MethodParameters:
Name Flags
object
attribute
value
javax.management.monitor.MonitorNotification buildAlarmNotification(javax.management.ObjectName, java.lang.String, java.lang.Comparable<?>);
descriptor: (Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/Comparable;)Ljavax/management/monitor/MonitorNotification;
flags: (0x0000)
Code:
stack=1, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavax/management/monitor/Monitor;
0 1 1 object Ljavax/management/ObjectName;
0 1 2 attribute Ljava/lang/String;
0 1 3 value Ljava/lang/Comparable<*>;
Signature: (Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/Comparable<*>;)Ljavax/management/monitor/MonitorNotification;
MethodParameters:
Name Flags
object
attribute
value
boolean isThresholdTypeValid(javax.management.ObjectName, java.lang.String, java.lang.Comparable<?>);
descriptor: (Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/Comparable;)Z
flags: (0x0000)
Code:
stack=1, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavax/management/monitor/Monitor;
0 1 1 object Ljavax/management/ObjectName;
0 1 2 attribute Ljava/lang/String;
0 1 3 value Ljava/lang/Comparable<*>;
Signature: (Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/Comparable<*>;)Z
MethodParameters:
Name Flags
object
attribute
value
static java.lang.Class<? extends java.lang.Number> classForType(javax.management.monitor.Monitor$NumericalType);
descriptor: (Ljavax/management/monitor/Monitor$NumericalType;)Ljava/lang/Class;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: invokestatic javax.management.monitor.Monitor.$SWITCH_TABLE$javax$management$monitor$Monitor$NumericalType:()[I
aload 0
invokevirtual javax.management.monitor.Monitor$NumericalType.ordinal:()I
iaload
tableswitch { // 1 - 6
1: 1
2: 2
3: 3
4: 4
5: 5
6: 6
default: 7
}
1: StackMap locals:
StackMap stack:
ldc Ljava/lang/Byte;
areturn
2: StackMap locals:
StackMap stack:
ldc Ljava/lang/Short;
areturn
3: StackMap locals:
StackMap stack:
ldc Ljava/lang/Integer;
areturn
4: StackMap locals:
StackMap stack:
ldc Ljava/lang/Long;
areturn
5: StackMap locals:
StackMap stack:
ldc Ljava/lang/Float;
areturn
6: StackMap locals:
StackMap stack:
ldc Ljava/lang/Double;
areturn
7: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
8: ldc "Unsupported numerical type"
9: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 type Ljavax/management/monitor/Monitor$NumericalType;
Signature: (Ljavax/management/monitor/Monitor$NumericalType;)Ljava/lang/Class<+Ljava/lang/Number;>;
MethodParameters:
Name Flags
type
static boolean isValidForType(, java.lang.Class<? extends java.lang.Number>);
descriptor: (Ljava/lang/Object;Ljava/lang/Class;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getstatic javax.management.monitor.Monitor.INTEGER_ZERO:Ljava/lang/Integer;
if_acmpeq 1
aload 1
aload 0
invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 value Ljava/lang/Object;
0 2 1 c Ljava/lang/Class<+Ljava/lang/Number;>;
Signature: (Ljava/lang/Object;Ljava/lang/Class<+Ljava/lang/Number;>;)Z
MethodParameters:
Name Flags
value
c
synchronized javax.management.monitor.Monitor$ObservedObject getObservedObject(javax.management.ObjectName);
descriptor: (Ljavax/management/ObjectName;)Ljavax/management/monitor/Monitor$ObservedObject;
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield javax.management.monitor.Monitor.observedObjects:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 4
StackMap locals: javax.management.monitor.Monitor javax.management.ObjectName top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.management.monitor.Monitor$ObservedObject
astore 2
start local 2 2: aload 2
invokevirtual javax.management.monitor.Monitor$ObservedObject.getObservedObject:()Ljavax/management/ObjectName;
aload 1
invokevirtual javax.management.ObjectName.equals:(Ljava/lang/Object;)Z
ifeq 4
3: aload 2
areturn
end local 2 4: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
5: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljavax/management/monitor/Monitor;
0 6 1 object Ljavax/management/ObjectName;
2 4 2 o Ljavax/management/monitor/Monitor$ObservedObject;
MethodParameters:
Name Flags
object
javax.management.monitor.Monitor$ObservedObject createObservedObject(javax.management.ObjectName);
descriptor: (Ljavax/management/ObjectName;)Ljavax/management/monitor/Monitor$ObservedObject;
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new javax.management.monitor.Monitor$ObservedObject
dup
aload 1
invokespecial javax.management.monitor.Monitor$ObservedObject.<init>:(Ljavax/management/ObjectName;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavax/management/monitor/Monitor;
0 1 1 object Ljavax/management/ObjectName;
MethodParameters:
Name Flags
object
synchronized void createAlreadyNotified();
descriptor: ()V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
aload 0
getfield javax.management.monitor.Monitor.observedObjects:Ljava/util/List;
invokeinterface java.util.List.size:()I
putfield javax.management.monitor.Monitor.elementCount:I
1: aload 0
aload 0
getfield javax.management.monitor.Monitor.elementCount:I
newarray 10
putfield javax.management.monitor.Monitor.alreadyNotifieds:[I
2: iconst_0
istore 1
start local 1 3: goto 6
4: StackMap locals: int
StackMap stack:
aload 0
getfield javax.management.monitor.Monitor.alreadyNotifieds:[I
iload 1
aload 0
getfield javax.management.monitor.Monitor.observedObjects:Ljava/util/List;
iload 1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast javax.management.monitor.Monitor$ObservedObject
invokevirtual javax.management.monitor.Monitor$ObservedObject.getAlreadyNotified:()I
iastore
5: iinc 1 1
StackMap locals:
StackMap stack:
6: iload 1
aload 0
getfield javax.management.monitor.Monitor.elementCount:I
if_icmplt 4
end local 1 7: aload 0
invokevirtual javax.management.monitor.Monitor.updateDeprecatedAlreadyNotified:()V
8: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljavax/management/monitor/Monitor;
3 7 1 i I
synchronized void updateDeprecatedAlreadyNotified();
descriptor: ()V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield javax.management.monitor.Monitor.elementCount:I
ifle 2
1: aload 0
aload 0
getfield javax.management.monitor.Monitor.alreadyNotifieds:[I
iconst_0
iaload
putfield javax.management.monitor.Monitor.alreadyNotified:I
goto 3
2: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield javax.management.monitor.Monitor.alreadyNotified:I
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljavax/management/monitor/Monitor;
synchronized void updateAlreadyNotified(javax.management.monitor.Monitor$ObservedObject, int);
descriptor: (Ljavax/management/monitor/Monitor$ObservedObject;I)V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield javax.management.monitor.Monitor.alreadyNotifieds:[I
iload 2
aload 1
invokevirtual javax.management.monitor.Monitor$ObservedObject.getAlreadyNotified:()I
iastore
1: iload 2
ifne 3
2: aload 0
invokevirtual javax.management.monitor.Monitor.updateDeprecatedAlreadyNotified:()V
3: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljavax/management/monitor/Monitor;
0 4 1 o Ljavax/management/monitor/Monitor$ObservedObject;
0 4 2 index I
MethodParameters:
Name Flags
o
index
synchronized boolean isAlreadyNotified(javax.management.monitor.Monitor$ObservedObject, int);
descriptor: (Ljavax/management/monitor/Monitor$ObservedObject;I)Z
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual javax.management.monitor.Monitor$ObservedObject.getAlreadyNotified:()I
iload 2
iand
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljavax/management/monitor/Monitor;
0 2 1 o Ljavax/management/monitor/Monitor$ObservedObject;
0 2 2 mask I
MethodParameters:
Name Flags
o
mask
synchronized void setAlreadyNotified(javax.management.monitor.Monitor$ObservedObject, int, int, int[]);
descriptor: (Ljavax/management/monitor/Monitor$ObservedObject;II[I)V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=4, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
iload 2
aload 4
invokevirtual javax.management.monitor.Monitor.computeAlreadyNotifiedIndex:(Ljavax/management/monitor/Monitor$ObservedObject;I[I)I
istore 5
start local 5 1: iload 5
iconst_m1
if_icmpne 3
2: return
3: StackMap locals: int
StackMap stack:
aload 1
aload 1
invokevirtual javax.management.monitor.Monitor$ObservedObject.getAlreadyNotified:()I
iload 3
ior
invokevirtual javax.management.monitor.Monitor$ObservedObject.setAlreadyNotified:(I)V
4: aload 0
aload 1
iload 5
invokevirtual javax.management.monitor.Monitor.updateAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I)V
5: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljavax/management/monitor/Monitor;
0 6 1 o Ljavax/management/monitor/Monitor$ObservedObject;
0 6 2 index I
0 6 3 mask I
0 6 4 an [I
1 6 5 i I
MethodParameters:
Name Flags
o
index
mask
an
synchronized void resetAlreadyNotified(javax.management.monitor.Monitor$ObservedObject, int, int);
descriptor: (Ljavax/management/monitor/Monitor$ObservedObject;II)V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aload 1
invokevirtual javax.management.monitor.Monitor$ObservedObject.getAlreadyNotified:()I
iload 3
iconst_m1
ixor
iand
invokevirtual javax.management.monitor.Monitor$ObservedObject.setAlreadyNotified:(I)V
1: aload 0
aload 1
iload 2
invokevirtual javax.management.monitor.Monitor.updateAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I)V
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljavax/management/monitor/Monitor;
0 3 1 o Ljavax/management/monitor/Monitor$ObservedObject;
0 3 2 index I
0 3 3 mask I
MethodParameters:
Name Flags
o
index
mask
synchronized void resetAllAlreadyNotified(javax.management.monitor.Monitor$ObservedObject, int, int[]);
descriptor: (Ljavax/management/monitor/Monitor$ObservedObject;I[I)V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
aload 3
invokevirtual javax.management.monitor.Monitor.computeAlreadyNotifiedIndex:(Ljavax/management/monitor/Monitor$ObservedObject;I[I)I
istore 4
start local 4 1: iload 4
iconst_m1
if_icmpne 3
2: return
3: StackMap locals: int
StackMap stack:
aload 1
iconst_0
invokevirtual javax.management.monitor.Monitor$ObservedObject.setAlreadyNotified:(I)V
4: aload 0
aload 1
iload 2
invokevirtual javax.management.monitor.Monitor.updateAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I)V
5: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljavax/management/monitor/Monitor;
0 6 1 o Ljavax/management/monitor/Monitor$ObservedObject;
0 6 2 index I
0 6 3 an [I
1 6 4 i I
MethodParameters:
Name Flags
o
index
an
synchronized int computeAlreadyNotifiedIndex(javax.management.monitor.Monitor$ObservedObject, int, int[]);
descriptor: (Ljavax/management/monitor/Monitor$ObservedObject;I[I)I
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
aload 0
getfield javax.management.monitor.Monitor.alreadyNotifieds:[I
if_acmpne 2
1: iload 2
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield javax.management.monitor.Monitor.observedObjects:Ljava/util/List;
aload 1
invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljavax/management/monitor/Monitor;
0 3 1 o Ljavax/management/monitor/Monitor$ObservedObject;
0 3 2 index I
0 3 3 an [I
MethodParameters:
Name Flags
o
index
an
private void sendNotification(java.lang.String, long, java.lang.String, java.lang.Object, java.lang.Object, javax.management.ObjectName, boolean);
descriptor: (Ljava/lang/String;JLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljavax/management/ObjectName;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=13, locals=12, args_size=8
start local 0 start local 1 start local 2 start local 4 start local 5 start local 6 start local 7 start local 8 0: aload 0
invokevirtual javax.management.monitor.Monitor.isActive:()Z
ifne 2
1: return
2: StackMap locals:
StackMap stack:
getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 9
3: getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
ldc Ljavax/management/monitor/Monitor;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
4: ldc "sendNotification"
new java.lang.StringBuilder
dup
ldc "send notification: \n\tNotification observed object = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
5: aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
6: ldc "\n\tNotification observed attribute = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield javax.management.monitor.Monitor.observedAttribute:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
7: ldc "\n\tNotification derived gauge = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
9: StackMap locals:
StackMap stack:
aload 0
getfield javax.management.monitor.Monitor.sequenceNumber:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.getAndIncrement:()J
lstore 9
start local 9 10: new javax.management.monitor.MonitorNotification
dup
aload 1
11: aload 0
12: lload 9
13: lload 2
14: aload 4
15: aload 7
16: aload 0
getfield javax.management.monitor.Monitor.observedAttribute:Ljava/lang/String;
17: aload 5
18: aload 6
19: invokespecial javax.management.monitor.MonitorNotification.<init>:(Ljava/lang/String;Ljava/lang/Object;JJLjava/lang/String;Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
20: astore 11
start local 11 21: iload 8
ifeq 23
22: aload 0
aload 11
invokevirtual javax.management.monitor.Monitor.onErrorNotification:(Ljavax/management/monitor/MonitorNotification;)V
23: StackMap locals: long javax.management.monitor.MonitorNotification
StackMap stack:
aload 0
aload 11
invokevirtual javax.management.monitor.Monitor.sendNotification:(Ljavax/management/Notification;)V
24: return
end local 11 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Ljavax/management/monitor/Monitor;
0 25 1 type Ljava/lang/String;
0 25 2 timeStamp J
0 25 4 msg Ljava/lang/String;
0 25 5 derGauge Ljava/lang/Object;
0 25 6 trigger Ljava/lang/Object;
0 25 7 object Ljavax/management/ObjectName;
0 25 8 onError Z
10 25 9 seqno J
21 25 11 mn Ljavax/management/monitor/MonitorNotification;
MethodParameters:
Name Flags
type
timeStamp
msg
derGauge
trigger
object
onError
private void monitor(javax.management.monitor.Monitor$ObservedObject, int, int[]);
descriptor: (Ljavax/management/monitor/Monitor$ObservedObject;I[I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=15, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
astore 5
start local 5 1: aconst_null
astore 6
start local 6 2: aconst_null
astore 7
start local 7 3: aconst_null
astore 8
start local 8 4: aconst_null
astore 10
start local 10 5: aconst_null
astore 11
start local 11 6: aload 0
invokevirtual javax.management.monitor.Monitor.isActive:()Z
ifne 8
7: return
8: StackMap locals: javax.management.monitor.Monitor javax.management.monitor.Monitor$ObservedObject int int[] top java.lang.String java.lang.String java.lang.Object java.lang.Object top java.lang.Comparable javax.management.monitor.MonitorNotification
StackMap stack:
aload 0
dup
astore 12
monitorenter
9: aload 1
invokevirtual javax.management.monitor.Monitor$ObservedObject.getObservedObject:()Ljavax/management/ObjectName;
astore 9
start local 9 10: aload 0
invokevirtual javax.management.monitor.Monitor.getObservedAttribute:()Ljava/lang/String;
astore 4
start local 4 11: aload 9
ifnull 12
aload 4
ifnonnull 14
12: StackMap locals: javax.management.monitor.Monitor javax.management.monitor.Monitor$ObservedObject int int[] java.lang.String java.lang.String java.lang.String java.lang.Object java.lang.Object javax.management.ObjectName java.lang.Comparable javax.management.monitor.MonitorNotification javax.management.monitor.Monitor
StackMap stack:
aload 12
monitorexit
13: return
14: StackMap locals:
StackMap stack:
aload 12
monitorexit
15: goto 18
end local 9 end local 4 StackMap locals: javax.management.monitor.Monitor javax.management.monitor.Monitor$ObservedObject int int[] top java.lang.String java.lang.String java.lang.Object java.lang.Object top java.lang.Comparable javax.management.monitor.MonitorNotification javax.management.monitor.Monitor
StackMap stack: java.lang.Throwable
16: aload 12
monitorexit
17: athrow
start local 4 start local 9 18: StackMap locals: javax.management.monitor.Monitor javax.management.monitor.Monitor$ObservedObject int int[] java.lang.String java.lang.String java.lang.String java.lang.Object java.lang.Object javax.management.ObjectName java.lang.Comparable javax.management.monitor.MonitorNotification
StackMap stack:
aconst_null
astore 12
start local 12 19: aload 0
aload 0
getfield javax.management.monitor.Monitor.server:Ljavax/management/MBeanServer;
aload 9
aload 4
invokevirtual javax.management.monitor.Monitor.getAttribute:(Ljavax/management/MBeanServerConnection;Ljavax/management/ObjectName;Ljava/lang/String;)Ljava/lang/Object;
astore 12
20: aload 12
ifnonnull 140
21: aload 0
22: aload 1
iconst_4
23: invokevirtual javax.management.monitor.Monitor.isAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I)Z
24: ifeq 26
25: return
26: StackMap locals: java.lang.Object
StackMap stack:
ldc "jmx.monitor.error.type"
astore 5
27: aload 0
28: aload 1
iload 2
iconst_4
aload 3
29: invokevirtual javax.management.monitor.Monitor.setAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;II[I)V
30: ldc "The observed attribute value is null."
astore 6
31: getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
ldc Ljavax/management/monitor/Monitor;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
32: ldc "monitor"
aload 6
33: invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
34: goto 140
StackMap locals:
StackMap stack: java.lang.NullPointerException
35: astore 13
start local 13 36: aload 0
aload 1
bipush 8
invokevirtual javax.management.monitor.Monitor.isAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I)Z
ifeq 38
37: return
38: StackMap locals: java.lang.NullPointerException
StackMap stack:
ldc "jmx.monitor.error.runtime"
astore 5
39: aload 0
aload 1
iload 2
bipush 8
aload 3
invokevirtual javax.management.monitor.Monitor.setAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;II[I)V
40: ldc "The monitor must be registered in the MBean server or an MBeanServerConnection must be explicitly supplied."
41: astore 6
42: getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
ldc Ljavax/management/monitor/Monitor;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
43: ldc "monitor"
aload 6
44: invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
45: getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
ldc Ljavax/management/monitor/Monitor;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
46: ldc "monitor"
aload 13
invokevirtual java.lang.NullPointerException.toString:()Ljava/lang/String;
47: invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
end local 13 48: goto 140
49: StackMap locals: javax.management.monitor.Monitor javax.management.monitor.Monitor$ObservedObject int int[] java.lang.String java.lang.String java.lang.String java.lang.Object java.lang.Object javax.management.ObjectName java.lang.Comparable javax.management.monitor.MonitorNotification java.lang.Object
StackMap stack: javax.management.InstanceNotFoundException
astore 13
start local 13 50: aload 0
aload 1
iconst_1
invokevirtual javax.management.monitor.Monitor.isAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I)Z
ifeq 52
51: return
52: StackMap locals: javax.management.InstanceNotFoundException
StackMap stack:
ldc "jmx.monitor.error.mbean"
astore 5
53: aload 0
54: aload 1
iload 2
iconst_1
aload 3
55: invokevirtual javax.management.monitor.Monitor.setAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;II[I)V
56: ldc "The observed object must be accessible in the MBeanServerConnection."
57: astore 6
58: getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
ldc Ljavax/management/monitor/Monitor;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
59: ldc "monitor"
aload 6
60: invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
61: getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
ldc Ljavax/management/monitor/Monitor;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
62: ldc "monitor"
aload 13
invokevirtual javax.management.InstanceNotFoundException.toString:()Ljava/lang/String;
63: invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
end local 13 64: goto 140
65: StackMap locals: javax.management.monitor.Monitor javax.management.monitor.Monitor$ObservedObject int int[] java.lang.String java.lang.String java.lang.String java.lang.Object java.lang.Object javax.management.ObjectName java.lang.Comparable javax.management.monitor.MonitorNotification java.lang.Object
StackMap stack: javax.management.AttributeNotFoundException
astore 13
start local 13 66: aload 0
aload 1
iconst_2
invokevirtual javax.management.monitor.Monitor.isAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I)Z
ifeq 68
67: return
68: StackMap locals: javax.management.AttributeNotFoundException
StackMap stack:
ldc "jmx.monitor.error.attribute"
astore 5
69: aload 0
70: aload 1
iload 2
iconst_2
aload 3
71: invokevirtual javax.management.monitor.Monitor.setAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;II[I)V
72: ldc "The observed attribute must be accessible in the observed object."
73: astore 6
74: getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
ldc Ljavax/management/monitor/Monitor;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
75: ldc "monitor"
aload 6
76: invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
77: getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
ldc Ljavax/management/monitor/Monitor;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
78: ldc "monitor"
aload 13
invokevirtual javax.management.AttributeNotFoundException.toString:()Ljava/lang/String;
79: invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
end local 13 80: goto 140
81: StackMap locals: javax.management.monitor.Monitor javax.management.monitor.Monitor$ObservedObject int int[] java.lang.String java.lang.String java.lang.String java.lang.Object java.lang.Object javax.management.ObjectName java.lang.Comparable javax.management.monitor.MonitorNotification java.lang.Object
StackMap stack: javax.management.MBeanException
astore 13
start local 13 82: aload 0
aload 1
bipush 8
invokevirtual javax.management.monitor.Monitor.isAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I)Z
ifeq 84
83: return
84: StackMap locals: javax.management.MBeanException
StackMap stack:
ldc "jmx.monitor.error.runtime"
astore 5
85: aload 0
aload 1
iload 2
bipush 8
aload 3
invokevirtual javax.management.monitor.Monitor.setAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;II[I)V
86: aload 13
invokevirtual javax.management.MBeanException.getMessage:()Ljava/lang/String;
ifnonnull 87
ldc ""
goto 88
StackMap locals:
StackMap stack:
87: aload 13
invokevirtual javax.management.MBeanException.getMessage:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
88: astore 6
89: getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
ldc Ljavax/management/monitor/Monitor;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
90: ldc "monitor"
aload 6
91: invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
92: getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
ldc Ljavax/management/monitor/Monitor;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
93: ldc "monitor"
aload 13
invokevirtual javax.management.MBeanException.toString:()Ljava/lang/String;
94: invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
end local 13 95: goto 140
96: StackMap locals: javax.management.monitor.Monitor javax.management.monitor.Monitor$ObservedObject int int[] java.lang.String java.lang.String java.lang.String java.lang.Object java.lang.Object javax.management.ObjectName java.lang.Comparable javax.management.monitor.MonitorNotification java.lang.Object
StackMap stack: javax.management.ReflectionException
astore 13
start local 13 97: aload 0
aload 1
bipush 8
invokevirtual javax.management.monitor.Monitor.isAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I)Z
ifeq 99
98: return
99: StackMap locals: javax.management.ReflectionException
StackMap stack:
ldc "jmx.monitor.error.runtime"
astore 5
100: aload 0
aload 1
iload 2
bipush 8
aload 3
invokevirtual javax.management.monitor.Monitor.setAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;II[I)V
101: aload 13
invokevirtual javax.management.ReflectionException.getMessage:()Ljava/lang/String;
ifnonnull 102
ldc ""
goto 103
StackMap locals:
StackMap stack:
102: aload 13
invokevirtual javax.management.ReflectionException.getMessage:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
103: astore 6
104: getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
ldc Ljavax/management/monitor/Monitor;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
105: ldc "monitor"
aload 6
106: invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
107: getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
ldc Ljavax/management/monitor/Monitor;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
108: ldc "monitor"
aload 13
invokevirtual javax.management.ReflectionException.toString:()Ljava/lang/String;
109: invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
end local 13 110: goto 140
111: StackMap locals: javax.management.monitor.Monitor javax.management.monitor.Monitor$ObservedObject int int[] java.lang.String java.lang.String java.lang.String java.lang.Object java.lang.Object javax.management.ObjectName java.lang.Comparable javax.management.monitor.MonitorNotification java.lang.Object
StackMap stack: java.io.IOException
astore 13
start local 13 112: aload 0
aload 1
bipush 8
invokevirtual javax.management.monitor.Monitor.isAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I)Z
ifeq 114
113: return
114: StackMap locals: java.io.IOException
StackMap stack:
ldc "jmx.monitor.error.runtime"
astore 5
115: aload 0
aload 1
iload 2
bipush 8
aload 3
invokevirtual javax.management.monitor.Monitor.setAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;II[I)V
116: aload 13
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
ifnonnull 117
ldc ""
goto 118
StackMap locals:
StackMap stack:
117: aload 13
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
118: astore 6
119: getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
ldc Ljavax/management/monitor/Monitor;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
120: ldc "monitor"
aload 6
121: invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
122: getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
ldc Ljavax/management/monitor/Monitor;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
123: ldc "monitor"
aload 13
invokevirtual java.io.IOException.toString:()Ljava/lang/String;
124: invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
end local 13 125: goto 140
126: StackMap locals: javax.management.monitor.Monitor javax.management.monitor.Monitor$ObservedObject int int[] java.lang.String java.lang.String java.lang.String java.lang.Object java.lang.Object javax.management.ObjectName java.lang.Comparable javax.management.monitor.MonitorNotification java.lang.Object
StackMap stack: java.lang.RuntimeException
astore 13
start local 13 127: aload 0
aload 1
bipush 8
invokevirtual javax.management.monitor.Monitor.isAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I)Z
ifeq 129
128: return
129: StackMap locals: java.lang.RuntimeException
StackMap stack:
ldc "jmx.monitor.error.runtime"
astore 5
130: aload 0
aload 1
iload 2
bipush 8
aload 3
invokevirtual javax.management.monitor.Monitor.setAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;II[I)V
131: aload 13
invokevirtual java.lang.RuntimeException.getMessage:()Ljava/lang/String;
ifnonnull 132
ldc ""
goto 133
StackMap locals:
StackMap stack:
132: aload 13
invokevirtual java.lang.RuntimeException.getMessage:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
133: astore 6
134: getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
ldc Ljavax/management/monitor/Monitor;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
135: ldc "monitor"
aload 6
136: invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
137: getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
ldc Ljavax/management/monitor/Monitor;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
138: ldc "monitor"
aload 13
invokevirtual java.lang.RuntimeException.toString:()Ljava/lang/String;
139: invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
end local 13 140: StackMap locals:
StackMap stack:
aload 0
dup
astore 13
monitorenter
141: aload 0
invokevirtual javax.management.monitor.Monitor.isActive:()Z
ifne 144
142: aload 13
monitorexit
143: return
144: StackMap locals: javax.management.monitor.Monitor
StackMap stack:
aload 4
aload 0
invokevirtual javax.management.monitor.Monitor.getObservedAttribute:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 147
145: aload 13
monitorexit
146: return
147: StackMap locals:
StackMap stack:
aload 6
ifnonnull 207
148: aload 0
aload 9
149: aload 4
150: aload 12
151: invokevirtual javax.management.monitor.Monitor.getComparableFromAttribute:(Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Comparable;
astore 10
152: goto 207
StackMap locals:
StackMap stack: java.lang.ClassCastException
153: astore 14
start local 14 154: aload 0
155: aload 1
iconst_4
156: invokevirtual javax.management.monitor.Monitor.isAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I)Z
157: ifeq 160
158: aload 13
monitorexit
159: return
160: StackMap locals: java.lang.ClassCastException
StackMap stack:
ldc "jmx.monitor.error.type"
astore 5
161: aload 0
aload 1
iload 2
162: iconst_4
aload 3
163: invokevirtual javax.management.monitor.Monitor.setAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;II[I)V
164: ldc "The observed attribute value does not implement the Comparable interface."
165: astore 6
166: getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
167: ldc Ljavax/management/monitor/Monitor;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
ldc "monitor"
aload 6
168: invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
169: getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
170: ldc Ljavax/management/monitor/Monitor;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
ldc "monitor"
aload 14
invokevirtual java.lang.ClassCastException.toString:()Ljava/lang/String;
171: invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
end local 14 172: goto 207
173: StackMap locals: javax.management.monitor.Monitor javax.management.monitor.Monitor$ObservedObject int int[] java.lang.String java.lang.String java.lang.String java.lang.Object java.lang.Object javax.management.ObjectName java.lang.Comparable javax.management.monitor.MonitorNotification java.lang.Object javax.management.monitor.Monitor
StackMap stack: javax.management.AttributeNotFoundException
astore 14
start local 14 174: aload 0
aload 1
iconst_2
invokevirtual javax.management.monitor.Monitor.isAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I)Z
ifeq 177
175: aload 13
monitorexit
176: return
177: StackMap locals: javax.management.AttributeNotFoundException
StackMap stack:
ldc "jmx.monitor.error.attribute"
astore 5
178: aload 0
179: aload 1
iload 2
iconst_2
aload 3
180: invokevirtual javax.management.monitor.Monitor.setAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;II[I)V
181: ldc "The observed attribute must be accessible in the observed object."
182: astore 6
183: getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
184: ldc Ljavax/management/monitor/Monitor;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
ldc "monitor"
aload 6
185: invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
186: getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
187: ldc Ljavax/management/monitor/Monitor;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
ldc "monitor"
aload 14
invokevirtual javax.management.AttributeNotFoundException.toString:()Ljava/lang/String;
188: invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
end local 14 189: goto 207
190: StackMap locals: javax.management.monitor.Monitor javax.management.monitor.Monitor$ObservedObject int int[] java.lang.String java.lang.String java.lang.String java.lang.Object java.lang.Object javax.management.ObjectName java.lang.Comparable javax.management.monitor.MonitorNotification java.lang.Object javax.management.monitor.Monitor
StackMap stack: java.lang.RuntimeException
astore 14
start local 14 191: aload 0
aload 1
bipush 8
invokevirtual javax.management.monitor.Monitor.isAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I)Z
ifeq 194
192: aload 13
monitorexit
193: return
194: StackMap locals: java.lang.RuntimeException
StackMap stack:
ldc "jmx.monitor.error.runtime"
astore 5
195: aload 0
aload 1
iload 2
196: bipush 8
aload 3
197: invokevirtual javax.management.monitor.Monitor.setAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;II[I)V
198: aload 14
invokevirtual java.lang.RuntimeException.getMessage:()Ljava/lang/String;
ifnonnull 199
ldc ""
goto 200
StackMap locals:
StackMap stack:
199: aload 14
invokevirtual java.lang.RuntimeException.getMessage:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
200: astore 6
201: getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
202: ldc Ljavax/management/monitor/Monitor;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
ldc "monitor"
aload 6
203: invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
204: getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
205: ldc Ljavax/management/monitor/Monitor;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
ldc "monitor"
aload 14
invokevirtual java.lang.RuntimeException.toString:()Ljava/lang/String;
206: invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
end local 14 207: StackMap locals:
StackMap stack:
aload 6
ifnonnull 223
208: aload 0
aload 9
aload 4
aload 10
invokevirtual javax.management.monitor.Monitor.isComparableTypeValid:(Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/Comparable;)Z
ifne 223
209: aload 0
210: aload 1
iconst_4
211: invokevirtual javax.management.monitor.Monitor.isAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I)Z
212: ifeq 215
213: aload 13
monitorexit
214: return
215: StackMap locals:
StackMap stack:
ldc "jmx.monitor.error.type"
astore 5
216: aload 0
aload 1
iload 2
217: iconst_4
aload 3
218: invokevirtual javax.management.monitor.Monitor.setAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;II[I)V
219: ldc "The observed attribute type is not valid."
astore 6
220: getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
221: ldc Ljavax/management/monitor/Monitor;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
ldc "monitor"
aload 6
222: invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
223: StackMap locals:
StackMap stack:
aload 6
ifnonnull 236
224: aload 0
aload 9
aload 4
aload 10
invokevirtual javax.management.monitor.Monitor.isThresholdTypeValid:(Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/Comparable;)Z
ifne 236
225: aload 0
aload 1
bipush 16
invokevirtual javax.management.monitor.Monitor.isAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I)Z
ifeq 228
226: aload 13
monitorexit
227: return
228: StackMap locals:
StackMap stack:
ldc "jmx.monitor.error.threshold"
astore 5
229: aload 0
aload 1
iload 2
230: bipush 16
aload 3
231: invokevirtual javax.management.monitor.Monitor.setAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;II[I)V
232: ldc "The threshold type is not valid."
astore 6
233: getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
234: ldc Ljavax/management/monitor/Monitor;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
ldc "monitor"
aload 6
235: invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
236: StackMap locals:
StackMap stack:
aload 6
ifnonnull 249
237: aload 0
aload 9
aload 4
aload 10
invokevirtual javax.management.monitor.Monitor.buildErrorNotification:(Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/Comparable;)Ljava/lang/String;
astore 6
238: aload 6
ifnull 249
239: aload 0
aload 1
bipush 8
invokevirtual javax.management.monitor.Monitor.isAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I)Z
ifeq 242
240: aload 13
monitorexit
241: return
242: StackMap locals:
StackMap stack:
ldc "jmx.monitor.error.runtime"
astore 5
243: aload 0
aload 1
iload 2
244: bipush 8
aload 3
245: invokevirtual javax.management.monitor.Monitor.setAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;II[I)V
246: getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
247: ldc Ljavax/management/monitor/Monitor;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
ldc "monitor"
aload 6
248: invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
249: StackMap locals:
StackMap stack:
aload 6
ifnonnull 261
250: aload 0
aload 1
iload 2
aload 3
invokevirtual javax.management.monitor.Monitor.resetAllAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I[I)V
251: aload 0
aload 9
252: aload 4
253: aload 10
254: invokevirtual javax.management.monitor.Monitor.getDerivedGaugeFromComparable:(Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/Comparable;)Ljava/lang/Comparable;
astore 7
255: aload 1
aload 7
invokevirtual javax.management.monitor.Monitor$ObservedObject.setDerivedGauge:(Ljava/lang/Object;)V
256: aload 1
invokestatic java.lang.System.currentTimeMillis:()J
invokevirtual javax.management.monitor.Monitor$ObservedObject.setDerivedGaugeTimeStamp:(J)V
257: aload 0
aload 9
258: aload 4
259: aload 7
checkcast java.lang.Comparable
260: invokevirtual javax.management.monitor.Monitor.buildAlarmNotification:(Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/Comparable;)Ljavax/management/monitor/MonitorNotification;
astore 11
261: StackMap locals:
StackMap stack:
aload 13
monitorexit
262: goto 265
StackMap locals:
StackMap stack: java.lang.Throwable
263: aload 13
monitorexit
264: athrow
265: StackMap locals:
StackMap stack:
aload 6
ifnull 274
266: aload 0
aload 5
267: invokestatic java.lang.System.currentTimeMillis:()J
268: aload 6
269: aload 7
270: aload 8
271: aload 9
272: iconst_1
273: invokevirtual javax.management.monitor.Monitor.sendNotification:(Ljava/lang/String;JLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljavax/management/ObjectName;Z)V
274: StackMap locals:
StackMap stack:
aload 11
ifnull 283
aload 11
invokevirtual javax.management.monitor.MonitorNotification.getType:()Ljava/lang/String;
ifnull 283
275: aload 0
aload 11
invokevirtual javax.management.monitor.MonitorNotification.getType:()Ljava/lang/String;
276: invokestatic java.lang.System.currentTimeMillis:()J
277: aload 11
invokevirtual javax.management.monitor.MonitorNotification.getMessage:()Ljava/lang/String;
278: aload 7
279: aload 11
invokevirtual javax.management.monitor.MonitorNotification.getTrigger:()Ljava/lang/Object;
280: aload 9
281: iconst_0
282: invokevirtual javax.management.monitor.Monitor.sendNotification:(Ljava/lang/String;JLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljavax/management/ObjectName;Z)V
283: StackMap locals:
StackMap stack:
return
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 284 0 this Ljavax/management/monitor/Monitor;
0 284 1 o Ljavax/management/monitor/Monitor$ObservedObject;
0 284 2 index I
0 284 3 an [I
11 16 4 attribute Ljava/lang/String;
18 284 4 attribute Ljava/lang/String;
1 284 5 notifType Ljava/lang/String;
2 284 6 msg Ljava/lang/String;
3 284 7 derGauge Ljava/lang/Object;
4 284 8 trigger Ljava/lang/Object;
10 16 9 object Ljavax/management/ObjectName;
18 284 9 object Ljavax/management/ObjectName;
5 284 10 value Ljava/lang/Comparable<*>;
6 284 11 alarm Ljavax/management/monitor/MonitorNotification;
19 284 12 attributeValue Ljava/lang/Object;
36 48 13 np_ex Ljava/lang/NullPointerException;
50 64 13 inf_ex Ljavax/management/InstanceNotFoundException;
66 80 13 anf_ex Ljavax/management/AttributeNotFoundException;
82 95 13 mb_ex Ljavax/management/MBeanException;
97 110 13 ref_ex Ljavax/management/ReflectionException;
112 125 13 io_ex Ljava/io/IOException;
127 140 13 rt_ex Ljava/lang/RuntimeException;
154 172 14 e Ljava/lang/ClassCastException;
174 189 14 e Ljavax/management/AttributeNotFoundException;
191 207 14 e Ljava/lang/RuntimeException;
Exception table:
from to target type
9 13 16 any
14 15 16 any
16 17 16 any
19 25 35 Class java.lang.NullPointerException
26 34 35 Class java.lang.NullPointerException
19 25 49 Class javax.management.InstanceNotFoundException
26 34 49 Class javax.management.InstanceNotFoundException
19 25 65 Class javax.management.AttributeNotFoundException
26 34 65 Class javax.management.AttributeNotFoundException
19 25 81 Class javax.management.MBeanException
26 34 81 Class javax.management.MBeanException
19 25 96 Class javax.management.ReflectionException
26 34 96 Class javax.management.ReflectionException
19 25 111 Class java.io.IOException
26 34 111 Class java.io.IOException
19 25 126 Class java.lang.RuntimeException
26 34 126 Class java.lang.RuntimeException
148 152 153 Class java.lang.ClassCastException
148 152 173 Class javax.management.AttributeNotFoundException
148 152 190 Class java.lang.RuntimeException
141 143 263 any
144 146 263 any
147 159 263 any
160 176 263 any
177 193 263 any
194 214 263 any
215 227 263 any
228 241 263 any
242 262 263 any
263 264 263 any
MethodParameters:
Name Flags
o
index
an
private synchronized void cleanupFutures();
descriptor: ()V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield javax.management.monitor.Monitor.schedulerFuture:Ljava/util/concurrent/ScheduledFuture;
ifnull 3
1: aload 0
getfield javax.management.monitor.Monitor.schedulerFuture:Ljava/util/concurrent/ScheduledFuture;
iconst_0
invokeinterface java.util.concurrent.ScheduledFuture.cancel:(Z)Z
pop
2: aload 0
aconst_null
putfield javax.management.monitor.Monitor.schedulerFuture:Ljava/util/concurrent/ScheduledFuture;
3: StackMap locals:
StackMap stack:
aload 0
getfield javax.management.monitor.Monitor.monitorFuture:Ljava/util/concurrent/Future;
ifnull 6
4: aload 0
getfield javax.management.monitor.Monitor.monitorFuture:Ljava/util/concurrent/Future;
iconst_0
invokeinterface java.util.concurrent.Future.cancel:(Z)Z
pop
5: aload 0
aconst_null
putfield javax.management.monitor.Monitor.monitorFuture:Ljava/util/concurrent/Future;
6: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljavax/management/monitor/Monitor;
private synchronized void cleanupIsComplexTypeAttribute();
descriptor: ()V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
putfield javax.management.monitor.Monitor.firstAttribute:Ljava/lang/String;
1: aload 0
getfield javax.management.monitor.Monitor.remainingAttributes:Ljava/util/List;
invokeinterface java.util.List.clear:()V
2: aload 0
iconst_0
putfield javax.management.monitor.Monitor.isComplexTypeAttribute:Z
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljavax/management/monitor/Monitor;
static int[] $SWITCH_TABLE$javax$management$monitor$Monitor$NumericalType();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic javax.management.monitor.Monitor.$SWITCH_TABLE$javax$management$monitor$Monitor$NumericalType:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic javax.management.monitor.Monitor$NumericalType.values:()[Ljavax/management/monitor/Monitor$NumericalType;
arraylength
newarray 10
astore 0
2: aload 0
getstatic javax.management.monitor.Monitor$NumericalType.BYTE:Ljavax/management/monitor/Monitor$NumericalType;
invokevirtual javax.management.monitor.Monitor$NumericalType.ordinal:()I
iconst_1
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic javax.management.monitor.Monitor$NumericalType.DOUBLE:Ljavax/management/monitor/Monitor$NumericalType;
invokevirtual javax.management.monitor.Monitor$NumericalType.ordinal:()I
bipush 6
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic javax.management.monitor.Monitor$NumericalType.FLOAT:Ljavax/management/monitor/Monitor$NumericalType;
invokevirtual javax.management.monitor.Monitor$NumericalType.ordinal:()I
iconst_5
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic javax.management.monitor.Monitor$NumericalType.INTEGER:Ljavax/management/monitor/Monitor$NumericalType;
invokevirtual javax.management.monitor.Monitor$NumericalType.ordinal:()I
iconst_3
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic javax.management.monitor.Monitor$NumericalType.LONG:Ljavax/management/monitor/Monitor$NumericalType;
invokevirtual javax.management.monitor.Monitor$NumericalType.ordinal:()I
iconst_4
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic javax.management.monitor.Monitor$NumericalType.SHORT:Ljavax/management/monitor/Monitor$NumericalType;
invokevirtual javax.management.monitor.Monitor$NumericalType.ordinal:()I
iconst_2
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
dup
putstatic javax.management.monitor.Monitor.$SWITCH_TABLE$javax$management$monitor$Monitor$NumericalType:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
}
SourceFile: "Monitor.java"
NestMembers:
javax.management.monitor.Monitor$DaemonThreadFactory javax.management.monitor.Monitor$MonitorTask javax.management.monitor.Monitor$MonitorTask$1 javax.management.monitor.Monitor$NumericalType javax.management.monitor.Monitor$ObservedObject javax.management.monitor.Monitor$SchedulerTask
InnerClasses:
private DaemonThreadFactory = javax.management.monitor.Monitor$DaemonThreadFactory of javax.management.monitor.Monitor
private MonitorTask = javax.management.monitor.Monitor$MonitorTask of javax.management.monitor.Monitor
final NumericalType = javax.management.monitor.Monitor$NumericalType of javax.management.monitor.Monitor
ObservedObject = javax.management.monitor.Monitor$ObservedObject of javax.management.monitor.Monitor
private SchedulerTask = javax.management.monitor.Monitor$SchedulerTask of javax.management.monitor.Monitor