public abstract class com.sun.jmx.remote.internal.ServerCommunicatorAdmin
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: com.sun.jmx.remote.internal.ServerCommunicatorAdmin
super_class: java.lang.Object
{
private long timestamp;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private final int[] lock;
descriptor: [I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int currentJobs;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private long timeout;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private boolean terminated;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
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
private static final com.sun.jmx.remote.util.ClassLogger timelogger;
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 "ServerCommunicatorAdmin"
2: invokespecial com.sun.jmx.remote.util.ClassLogger.<init>:(Ljava/lang/String;Ljava/lang/String;)V
3: putstatic com.sun.jmx.remote.internal.ServerCommunicatorAdmin.logger:Lcom/sun/jmx/remote/util/ClassLogger;
4: new com.sun.jmx.remote.util.ClassLogger
dup
ldc "javax.management.remote.timeout"
5: ldc "ServerCommunicatorAdmin"
6: invokespecial com.sun.jmx.remote.util.ClassLogger.<init>:(Ljava/lang/String;Ljava/lang/String;)V
7: putstatic com.sun.jmx.remote.internal.ServerCommunicatorAdmin.timelogger:Lcom/sun/jmx/remote/util/ClassLogger;
8: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
newarray 10
putfield com.sun.jmx.remote.internal.ServerCommunicatorAdmin.lock:[I
2: aload 0
iconst_0
putfield com.sun.jmx.remote.internal.ServerCommunicatorAdmin.currentJobs:I
3: aload 0
iconst_0
putfield com.sun.jmx.remote.internal.ServerCommunicatorAdmin.terminated:Z
4: getstatic com.sun.jmx.remote.internal.ServerCommunicatorAdmin.logger:Lcom/sun/jmx/remote/util/ClassLogger;
invokevirtual com.sun.jmx.remote.util.ClassLogger.traceOn:()Z
ifeq 10
5: getstatic com.sun.jmx.remote.internal.ServerCommunicatorAdmin.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "Constructor"
6: new java.lang.StringBuilder
dup
ldc "Creates a new ServerCommunicatorAdmin object with the timeout "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
7: lload 1
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
8: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
9: invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
10: StackMap locals: com.sun.jmx.remote.internal.ServerCommunicatorAdmin long
StackMap stack:
aload 0
lload 1
putfield com.sun.jmx.remote.internal.ServerCommunicatorAdmin.timeout:J
11: aload 0
lconst_0
putfield com.sun.jmx.remote.internal.ServerCommunicatorAdmin.timestamp:J
12: lload 1
ldc 9223372036854775807
lcmp
ifge 18
13: new com.sun.jmx.remote.internal.ServerCommunicatorAdmin$Timeout
dup
aload 0
invokespecial com.sun.jmx.remote.internal.ServerCommunicatorAdmin$Timeout.<init>:(Lcom/sun/jmx/remote/internal/ServerCommunicatorAdmin;)V
astore 3
start local 3 14: new java.lang.Thread
dup
aload 3
invokespecial java.lang.Thread.<init>:(Ljava/lang/Runnable;)V
astore 4
start local 4 15: aload 4
new java.lang.StringBuilder
dup
ldc "JMX server connection timeout "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.Thread.getId:()J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.Thread.setName:(Ljava/lang/String;)V
16: aload 4
iconst_1
invokevirtual java.lang.Thread.setDaemon:(Z)V
17: aload 4
invokevirtual java.lang.Thread.start:()V
end local 4 end local 3 18: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/sun/jmx/remote/internal/ServerCommunicatorAdmin;
0 19 1 timeout J
14 18 3 timeoutTask Ljava/lang/Runnable;
15 18 4 t Ljava/lang/Thread;
MethodParameters:
Name Flags
timeout
public boolean reqIncoming();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: getstatic com.sun.jmx.remote.internal.ServerCommunicatorAdmin.logger:Lcom/sun/jmx/remote/util/ClassLogger;
invokevirtual com.sun.jmx.remote.util.ClassLogger.traceOn:()Z
ifeq 2
1: getstatic com.sun.jmx.remote.internal.ServerCommunicatorAdmin.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "reqIncoming"
ldc "Receive a new request."
invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jmx.remote.internal.ServerCommunicatorAdmin.lock:[I
dup
astore 1
monitorenter
3: aload 0
getfield com.sun.jmx.remote.internal.ServerCommunicatorAdmin.terminated:Z
ifeq 7
4: getstatic com.sun.jmx.remote.internal.ServerCommunicatorAdmin.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "reqIncoming"
5: ldc "The server has decided to close this client connection."
6: invokevirtual com.sun.jmx.remote.util.ClassLogger.warning:(Ljava/lang/String;Ljava/lang/String;)V
7: StackMap locals: int[]
StackMap stack:
aload 0
dup
getfield com.sun.jmx.remote.internal.ServerCommunicatorAdmin.currentJobs:I
iconst_1
iadd
putfield com.sun.jmx.remote.internal.ServerCommunicatorAdmin.currentJobs:I
8: aload 0
getfield com.sun.jmx.remote.internal.ServerCommunicatorAdmin.terminated:Z
aload 1
monitorexit
9: ireturn
10: StackMap locals:
StackMap stack: java.lang.Throwable
aload 1
monitorexit
11: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/sun/jmx/remote/internal/ServerCommunicatorAdmin;
Exception table:
from to target type
3 9 10 any
10 11 10 any
public boolean rspOutgoing();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: getstatic com.sun.jmx.remote.internal.ServerCommunicatorAdmin.logger:Lcom/sun/jmx/remote/util/ClassLogger;
invokevirtual com.sun.jmx.remote.util.ClassLogger.traceOn:()Z
ifeq 2
1: getstatic com.sun.jmx.remote.internal.ServerCommunicatorAdmin.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "reqIncoming"
ldc "Finish a request."
invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jmx.remote.internal.ServerCommunicatorAdmin.lock:[I
dup
astore 1
monitorenter
3: aload 0
dup
getfield com.sun.jmx.remote.internal.ServerCommunicatorAdmin.currentJobs:I
iconst_1
isub
dup_x1
putfield com.sun.jmx.remote.internal.ServerCommunicatorAdmin.currentJobs:I
ifne 7
4: aload 0
invokestatic java.lang.System.currentTimeMillis:()J
putfield com.sun.jmx.remote.internal.ServerCommunicatorAdmin.timestamp:J
5: aload 0
ldc "Admin: Timestamp="
aload 0
getfield com.sun.jmx.remote.internal.ServerCommunicatorAdmin.timestamp:J
invokevirtual com.sun.jmx.remote.internal.ServerCommunicatorAdmin.logtime:(Ljava/lang/String;J)V
6: aload 0
getfield com.sun.jmx.remote.internal.ServerCommunicatorAdmin.lock:[I
invokevirtual java.lang.Object.notify:()V
7: StackMap locals: int[]
StackMap stack:
aload 0
getfield com.sun.jmx.remote.internal.ServerCommunicatorAdmin.terminated:Z
aload 1
monitorexit
8: ireturn
9: StackMap locals:
StackMap stack: java.lang.Throwable
aload 1
monitorexit
10: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/sun/jmx/remote/internal/ServerCommunicatorAdmin;
Exception table:
from to target type
3 8 9 any
9 10 9 any
protected abstract void doStop();
descriptor: ()V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
public void terminate();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: getstatic com.sun.jmx.remote.internal.ServerCommunicatorAdmin.logger:Lcom/sun/jmx/remote/util/ClassLogger;
invokevirtual com.sun.jmx.remote.util.ClassLogger.traceOn:()Z
ifeq 4
1: getstatic com.sun.jmx.remote.internal.ServerCommunicatorAdmin.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "terminate"
2: ldc "terminate the ServerCommunicatorAdmin object."
3: invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
4: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jmx.remote.internal.ServerCommunicatorAdmin.lock:[I
dup
astore 1
monitorenter
5: aload 0
getfield com.sun.jmx.remote.internal.ServerCommunicatorAdmin.terminated:Z
ifeq 8
6: aload 1
monitorexit
7: return
8: StackMap locals: int[]
StackMap stack:
aload 0
iconst_1
putfield com.sun.jmx.remote.internal.ServerCommunicatorAdmin.terminated:Z
9: aload 0
getfield com.sun.jmx.remote.internal.ServerCommunicatorAdmin.lock:[I
invokevirtual java.lang.Object.notify:()V
10: aload 1
monitorexit
11: goto 14
StackMap locals:
StackMap stack: java.lang.Throwable
12: aload 1
monitorexit
13: athrow
14: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/sun/jmx/remote/internal/ServerCommunicatorAdmin;
Exception table:
from to target type
5 7 12 any
8 11 12 any
12 13 12 any
private void logtime(java.lang.String, long);
descriptor: (Ljava/lang/String;J)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: getstatic com.sun.jmx.remote.internal.ServerCommunicatorAdmin.timelogger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "synchro"
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 2
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/jmx/remote/internal/ServerCommunicatorAdmin;
0 2 1 desc Ljava/lang/String;
0 2 2 time J
MethodParameters:
Name Flags
desc
time
}
SourceFile: "ServerCommunicatorAdmin.java"
NestMembers:
com.sun.jmx.remote.internal.ServerCommunicatorAdmin$Timeout
InnerClasses:
private Timeout = com.sun.jmx.remote.internal.ServerCommunicatorAdmin$Timeout of com.sun.jmx.remote.internal.ServerCommunicatorAdmin