public abstract class com.sun.jmx.remote.internal.ClientCommunicatorAdmin
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: com.sun.jmx.remote.internal.ClientCommunicatorAdmin
super_class: java.lang.Object
{
private final com.sun.jmx.remote.internal.ClientCommunicatorAdmin$Checker checker;
descriptor: Lcom/sun/jmx/remote/internal/ClientCommunicatorAdmin$Checker;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private long period;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private static final int CONNECTED;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int RE_CONNECTING;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int FAILED;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int TERMINATED;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private int state;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private final int[] lock;
descriptor: [I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static final com.sun.jmx.remote.util.ClassLogger logger;
descriptor: Lcom/sun/jmx/remote/util/ClassLogger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: new com.sun.jmx.remote.util.ClassLogger
dup
ldc "javax.management.remote.misc"
1: ldc "ClientCommunicatorAdmin"
2: invokespecial com.sun.jmx.remote.util.ClassLogger.<init>:(Ljava/lang/String;Ljava/lang/String;)V
3: putstatic com.sun.jmx.remote.internal.ClientCommunicatorAdmin.logger:Lcom/sun/jmx/remote/util/ClassLogger;
4: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield com.sun.jmx.remote.internal.ClientCommunicatorAdmin.state:I
2: aload 0
iconst_0
newarray 10
putfield com.sun.jmx.remote.internal.ClientCommunicatorAdmin.lock:[I
3: aload 0
lload 1
putfield com.sun.jmx.remote.internal.ClientCommunicatorAdmin.period:J
4: lload 1
lconst_0
lcmp
ifle 10
5: aload 0
new com.sun.jmx.remote.internal.ClientCommunicatorAdmin$Checker
dup
aload 0
invokespecial com.sun.jmx.remote.internal.ClientCommunicatorAdmin$Checker.<init>:(Lcom/sun/jmx/remote/internal/ClientCommunicatorAdmin;)V
putfield com.sun.jmx.remote.internal.ClientCommunicatorAdmin.checker:Lcom/sun/jmx/remote/internal/ClientCommunicatorAdmin$Checker;
6: new java.lang.Thread
dup
aload 0
getfield com.sun.jmx.remote.internal.ClientCommunicatorAdmin.checker:Lcom/sun/jmx/remote/internal/ClientCommunicatorAdmin$Checker;
invokespecial java.lang.Thread.<init>:(Ljava/lang/Runnable;)V
astore 3
start local 3 7: aload 3
iconst_1
invokevirtual java.lang.Thread.setDaemon:(Z)V
8: aload 3
invokevirtual java.lang.Thread.start:()V
end local 3 9: goto 11
10: StackMap locals: com.sun.jmx.remote.internal.ClientCommunicatorAdmin long
StackMap stack:
aload 0
aconst_null
putfield com.sun.jmx.remote.internal.ClientCommunicatorAdmin.checker:Lcom/sun/jmx/remote/internal/ClientCommunicatorAdmin$Checker;
11: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/sun/jmx/remote/internal/ClientCommunicatorAdmin;
0 12 1 period J
7 9 3 t Ljava/lang/Thread;
MethodParameters:
Name Flags
period
public void gotIOException(java.io.IOException);
descriptor: (Ljava/io/IOException;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.sun.jmx.remote.internal.ClientCommunicatorAdmin.restart:(Ljava/io/IOException;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/jmx/remote/internal/ClientCommunicatorAdmin;
0 2 1 ioe Ljava/io/IOException;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
ioe
protected abstract void checkConnection();
descriptor: ()V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Exceptions:
throws java.io.IOException
protected abstract void doStart();
descriptor: ()V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Exceptions:
throws java.io.IOException
protected abstract void doStop();
descriptor: ()V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
public void terminate();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield com.sun.jmx.remote.internal.ClientCommunicatorAdmin.lock:[I
dup
astore 1
monitorenter
1: aload 0
getfield com.sun.jmx.remote.internal.ClientCommunicatorAdmin.state:I
iconst_3
if_icmpne 4
2: aload 1
monitorexit
3: return
4: StackMap locals: int[]
StackMap stack:
aload 0
iconst_3
putfield com.sun.jmx.remote.internal.ClientCommunicatorAdmin.state:I
5: aload 0
getfield com.sun.jmx.remote.internal.ClientCommunicatorAdmin.lock:[I
invokevirtual java.lang.Object.notifyAll:()V
6: aload 0
getfield com.sun.jmx.remote.internal.ClientCommunicatorAdmin.checker:Lcom/sun/jmx/remote/internal/ClientCommunicatorAdmin$Checker;
ifnull 8
7: aload 0
getfield com.sun.jmx.remote.internal.ClientCommunicatorAdmin.checker:Lcom/sun/jmx/remote/internal/ClientCommunicatorAdmin$Checker;
invokevirtual com.sun.jmx.remote.internal.ClientCommunicatorAdmin$Checker.stop:()V
8: StackMap locals:
StackMap stack:
aload 1
monitorexit
9: goto 12
StackMap locals:
StackMap stack: java.lang.Throwable
10: aload 1
monitorexit
11: athrow
12: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/sun/jmx/remote/internal/ClientCommunicatorAdmin;
Exception table:
from to target type
1 3 10 any
4 9 10 any
10 11 10 any
private void restart(java.io.IOException);
descriptor: (Ljava/io/IOException;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.jmx.remote.internal.ClientCommunicatorAdmin.lock:[I
dup
astore 2
monitorenter
1: aload 0
getfield com.sun.jmx.remote.internal.ClientCommunicatorAdmin.state:I
iconst_3
if_icmpne 3
2: new java.io.IOException
dup
ldc "The client has been closed."
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: int[]
StackMap stack:
aload 0
getfield com.sun.jmx.remote.internal.ClientCommunicatorAdmin.state:I
iconst_2
if_icmpne 5
4: aload 1
athrow
5: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jmx.remote.internal.ClientCommunicatorAdmin.state:I
iconst_1
if_icmpne 18
6: goto 13
7: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jmx.remote.internal.ClientCommunicatorAdmin.lock:[I
invokevirtual java.lang.Object.wait:()V
8: goto 13
StackMap locals:
StackMap stack: java.lang.InterruptedException
9: astore 3
start local 3 10: new java.io.InterruptedIOException
dup
aload 3
invokevirtual java.lang.InterruptedException.toString:()Ljava/lang/String;
invokespecial java.io.InterruptedIOException.<init>:(Ljava/lang/String;)V
astore 4
start local 4 11: aload 4
aload 3
invokestatic com.sun.jmx.remote.util.EnvHelp.initCause:(Ljava/lang/Throwable;Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
12: aload 4
athrow
end local 4 end local 3 13: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jmx.remote.internal.ClientCommunicatorAdmin.state:I
iconst_1
if_icmpeq 7
14: aload 0
getfield com.sun.jmx.remote.internal.ClientCommunicatorAdmin.state:I
iconst_3
if_icmpne 16
15: new java.io.IOException
dup
ldc "The client has been closed."
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
16: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jmx.remote.internal.ClientCommunicatorAdmin.state:I
ifeq 20
17: aload 1
athrow
18: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield com.sun.jmx.remote.internal.ClientCommunicatorAdmin.state:I
19: aload 0
getfield com.sun.jmx.remote.internal.ClientCommunicatorAdmin.lock:[I
invokevirtual java.lang.Object.notifyAll:()V
20: StackMap locals:
StackMap stack:
aload 2
monitorexit
21: goto 24
StackMap locals:
StackMap stack: java.lang.Throwable
22: aload 2
monitorexit
23: athrow
24: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.jmx.remote.internal.ClientCommunicatorAdmin.doStart:()V
25: aload 0
getfield com.sun.jmx.remote.internal.ClientCommunicatorAdmin.lock:[I
dup
astore 2
monitorenter
26: aload 0
getfield com.sun.jmx.remote.internal.ClientCommunicatorAdmin.state:I
iconst_3
if_icmpne 28
27: new java.io.IOException
dup
ldc "The client has been closed."
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
28: StackMap locals: int[]
StackMap stack:
aload 0
iconst_0
putfield com.sun.jmx.remote.internal.ClientCommunicatorAdmin.state:I
29: aload 0
getfield com.sun.jmx.remote.internal.ClientCommunicatorAdmin.lock:[I
invokevirtual java.lang.Object.notifyAll:()V
30: aload 2
monitorexit
31: goto 34
StackMap locals:
StackMap stack: java.lang.Throwable
32: aload 2
monitorexit
33: athrow
34: StackMap locals:
StackMap stack:
return
35: StackMap locals:
StackMap stack: java.lang.Exception
astore 2
start local 2 36: getstatic com.sun.jmx.remote.internal.ClientCommunicatorAdmin.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "restart"
new java.lang.StringBuilder
dup
ldc "Failed to restart: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.jmx.remote.util.ClassLogger.warning:(Ljava/lang/String;Ljava/lang/String;)V
37: getstatic com.sun.jmx.remote.internal.ClientCommunicatorAdmin.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "restart"
aload 2
invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
38: aload 0
getfield com.sun.jmx.remote.internal.ClientCommunicatorAdmin.lock:[I
dup
astore 3
monitorenter
39: aload 0
getfield com.sun.jmx.remote.internal.ClientCommunicatorAdmin.state:I
iconst_3
if_icmpne 41
40: new java.io.IOException
dup
ldc "The client has been closed."
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
41: StackMap locals: java.lang.Exception int[]
StackMap stack:
aload 0
iconst_2
putfield com.sun.jmx.remote.internal.ClientCommunicatorAdmin.state:I
42: aload 0
getfield com.sun.jmx.remote.internal.ClientCommunicatorAdmin.lock:[I
invokevirtual java.lang.Object.notifyAll:()V
43: aload 3
monitorexit
44: goto 47
StackMap locals:
StackMap stack: java.lang.Throwable
45: aload 3
monitorexit
46: athrow
47: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.jmx.remote.internal.ClientCommunicatorAdmin.doStop:()V
48: goto 50
StackMap locals:
StackMap stack: java.lang.Exception
49: pop
50: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.jmx.remote.internal.ClientCommunicatorAdmin.terminate:()V
51: aload 1
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 52 0 this Lcom/sun/jmx/remote/internal/ClientCommunicatorAdmin;
0 52 1 ioe Ljava/io/IOException;
10 13 3 ire Ljava/lang/InterruptedException;
11 13 4 iioe Ljava/io/InterruptedIOException;
36 52 2 e Ljava/lang/Exception;
Exception table:
from to target type
7 8 9 Class java.lang.InterruptedException
1 21 22 any
22 23 22 any
26 31 32 any
32 33 32 any
24 34 35 Class java.lang.Exception
39 44 45 any
45 46 45 any
47 48 49 Class java.lang.Exception
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
ioe
}
SourceFile: "ClientCommunicatorAdmin.java"
NestMembers:
com.sun.jmx.remote.internal.ClientCommunicatorAdmin$Checker
InnerClasses:
private Checker = com.sun.jmx.remote.internal.ClientCommunicatorAdmin$Checker of com.sun.jmx.remote.internal.ClientCommunicatorAdmin