class javax.management.remote.rmi.RMIConnector$RMINotifClient extends com.sun.jmx.remote.internal.ClientNotifForwarder
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: javax.management.remote.rmi.RMIConnector$RMINotifClient
super_class: com.sun.jmx.remote.internal.ClientNotifForwarder
{
final javax.management.remote.rmi.RMIConnector this$0;
descriptor: Ljavax/management/remote/rmi/RMIConnector;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
public void <init>(java.lang.ClassLoader, java.util.Map<java.lang.String, ?>);
descriptor: (Ljavax/management/remote/rmi/RMIConnector;Ljava/lang/ClassLoader;Ljava/util/Map;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 2 start local 3 0: aload 0
aload 1
putfield javax.management.remote.rmi.RMIConnector$RMINotifClient.this$0:Ljavax/management/remote/rmi/RMIConnector;
1: aload 0
aload 2
aload 3
invokespecial com.sun.jmx.remote.internal.ClientNotifForwarder.<init>:(Ljava/lang/ClassLoader;Ljava/util/Map;)V
2: return
end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljavax/management/remote/rmi/RMIConnector$RMINotifClient;
0 3 2 cl Ljava/lang/ClassLoader;
0 3 3 env Ljava/util/Map<Ljava/lang/String;*>;
Signature: (Ljava/lang/ClassLoader;Ljava/util/Map<Ljava/lang/String;*>;)V
MethodParameters:
Name Flags
this$0 final
cl
env
protected javax.management.remote.NotificationResult fetchNotifs(long, int, long);
descriptor: (JIJ)Ljavax/management/remote/NotificationResult;
flags: (0x0004) ACC_PROTECTED
Code:
stack=12, locals=10, args_size=4
start local 0 start local 1 start local 3 start local 4 0: iconst_0
istore 6
start local 6 1: StackMap locals: int
StackMap stack:
aload 0
getfield javax.management.remote.rmi.RMIConnector$RMINotifClient.this$0:Ljavax/management/remote/rmi/RMIConnector;
getfield javax.management.remote.rmi.RMIConnector.connection:Ljavax/management/remote/rmi/RMIConnection;
lload 1
2: iload 3
3: lload 4
4: invokeinterface javax.management.remote.rmi.RMIConnection.fetchNotifications:(JIJ)Ljavax/management/remote/NotificationResult;
5: areturn
6: StackMap locals:
StackMap stack: java.io.IOException
astore 7
start local 7 7: aload 0
aload 7
invokevirtual javax.management.remote.rmi.RMIConnector$RMINotifClient.rethrowDeserializationException:(Ljava/io/IOException;)V
8: aload 0
getfield javax.management.remote.rmi.RMIConnector$RMINotifClient.this$0:Ljavax/management/remote/rmi/RMIConnector;
getfield javax.management.remote.rmi.RMIConnector.communicatorAdmin:Lcom/sun/jmx/remote/internal/ClientCommunicatorAdmin;
aload 7
invokevirtual com.sun.jmx.remote.internal.ClientCommunicatorAdmin.gotIOException:(Ljava/io/IOException;)V
9: goto 1
StackMap locals: javax.management.remote.rmi.RMIConnector$RMINotifClient long int long int java.io.IOException
StackMap stack: java.io.IOException
10: pop
11: iconst_0
istore 8
start local 8 12: aload 0
dup
astore 9
monitorenter
13: aload 0
getfield javax.management.remote.rmi.RMIConnector$RMINotifClient.this$0:Ljavax/management/remote/rmi/RMIConnector;
getfield javax.management.remote.rmi.RMIConnector.terminated:Z
ifeq 15
14: aload 7
athrow
15: StackMap locals: int javax.management.remote.rmi.RMIConnector$RMINotifClient
StackMap stack:
iload 6
ifeq 17
16: iconst_1
istore 8
17: StackMap locals:
StackMap stack:
aload 9
monitorexit
18: goto 21
StackMap locals:
StackMap stack: java.lang.Throwable
19: aload 9
monitorexit
20: athrow
21: StackMap locals:
StackMap stack:
iload 8
ifeq 36
22: new javax.management.remote.JMXConnectionNotification
dup
23: ldc "jmx.remote.connection.failed"
24: aload 0
25: aload 0
getfield javax.management.remote.rmi.RMIConnector$RMINotifClient.this$0:Ljavax/management/remote/rmi/RMIConnector;
getfield javax.management.remote.rmi.RMIConnector.connectionId:Ljava/lang/String;
26: aload 0
getfield javax.management.remote.rmi.RMIConnector$RMINotifClient.this$0:Ljavax/management/remote/rmi/RMIConnector;
dup
getfield javax.management.remote.rmi.RMIConnector.clientNotifSeqNo:J
dup2_x1
lconst_1
ladd
putfield javax.management.remote.rmi.RMIConnector.clientNotifSeqNo:J
27: new java.lang.StringBuilder
dup
ldc "Failed to communicate with the server: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual java.io.IOException.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
28: aload 7
29: invokespecial javax.management.remote.JMXConnectionNotification.<init>:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/String;JLjava/lang/String;Ljava/lang/Object;)V
30: astore 9
start local 9 31: aload 0
getfield javax.management.remote.rmi.RMIConnector$RMINotifClient.this$0:Ljavax/management/remote/rmi/RMIConnector;
aload 9
invokevirtual javax.management.remote.rmi.RMIConnector.sendNotification:(Ljavax/management/Notification;)V
32: aload 0
getfield javax.management.remote.rmi.RMIConnector$RMINotifClient.this$0:Ljavax/management/remote/rmi/RMIConnector;
iconst_1
invokevirtual javax.management.remote.rmi.RMIConnector.close:(Z)V
33: goto 35
StackMap locals: javax.management.remote.rmi.RMIConnector$RMINotifClient long int long int java.io.IOException int javax.management.Notification
StackMap stack: java.lang.Exception
34: pop
35: StackMap locals:
StackMap stack:
aload 7
athrow
end local 9 36: StackMap locals:
StackMap stack:
iconst_1
istore 6
end local 8 end local 7 37: goto 1
end local 6 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 38 0 this Ljavax/management/remote/rmi/RMIConnector$RMINotifClient;
0 38 1 clientSequenceNumber J
0 38 3 maxNotifications I
0 38 4 timeout J
1 38 6 retried Z
7 37 7 ioe Ljava/io/IOException;
12 37 8 toClose Z
31 36 9 failedNotif Ljavax/management/Notification;
Exception table:
from to target type
1 5 6 Class java.io.IOException
8 9 10 Class java.io.IOException
13 18 19 any
19 20 19 any
32 33 34 Class java.lang.Exception
Exceptions:
throws java.io.IOException, java.lang.ClassNotFoundException
MethodParameters:
Name Flags
clientSequenceNumber
maxNotifications
timeout
private void rethrowDeserializationException(java.io.IOException);
descriptor: (Ljava/io/IOException;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
instanceof java.rmi.UnmarshalException
ifeq 4
1: new java.io.NotSerializableException
dup
invokespecial java.io.NotSerializableException.<init>:()V
astore 2
start local 2 2: aload 2
aload 1
invokevirtual java.io.NotSerializableException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
3: aload 2
athrow
end local 2 4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljavax/management/remote/rmi/RMIConnector$RMINotifClient;
0 5 1 ioe Ljava/io/IOException;
2 4 2 nse Ljava/io/NotSerializableException;
Exceptions:
throws java.lang.ClassNotFoundException, java.io.IOException
MethodParameters:
Name Flags
ioe
protected java.lang.Integer addListenerForMBeanRemovedNotif();
descriptor: ()Ljava/lang/Integer;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=8, args_size=1
start local 0 0: new javax.management.NotificationFilterSupport
dup
invokespecial javax.management.NotificationFilterSupport.<init>:()V
1: astore 1
start local 1 2: aload 1
3: ldc "JMX.mbean.unregistered"
4: invokevirtual javax.management.NotificationFilterSupport.enableType:(Ljava/lang/String;)V
5: new java.rmi.MarshalledObject
dup
aload 1
invokespecial java.rmi.MarshalledObject.<init>:(Ljava/lang/Object;)V
6: astore 2
start local 2 7: iconst_1
anewarray javax.management.ObjectName
dup
iconst_0
getstatic javax.management.MBeanServerDelegate.DELEGATE_NAME:Ljavax/management/ObjectName;
aastore
8: astore 4
start local 4 9: iconst_1
anewarray java.rmi.MarshalledObject
dup
iconst_0
aload 2
aastore
invokestatic javax.management.remote.rmi.RMIConnector$Util.cast:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.rmi.MarshalledObject[]
10: astore 5
start local 5 11: iconst_1
anewarray javax.security.auth.Subject
astore 6
start local 6 12: aload 0
getfield javax.management.remote.rmi.RMIConnector$RMINotifClient.this$0:Ljavax/management/remote/rmi/RMIConnector;
getfield javax.management.remote.rmi.RMIConnector.connection:Ljavax/management/remote/rmi/RMIConnection;
aload 4
13: aload 5
14: aload 6
15: invokeinterface javax.management.remote.rmi.RMIConnection.addNotificationListeners:([Ljavax/management/ObjectName;[Ljava/rmi/MarshalledObject;[Ljavax/security/auth/Subject;)[Ljava/lang/Integer;
16: astore 3
start local 3 17: goto 25
end local 3 StackMap locals: javax.management.remote.rmi.RMIConnector$RMINotifClient javax.management.NotificationFilterSupport java.rmi.MarshalledObject top javax.management.ObjectName[] java.rmi.MarshalledObject[] javax.security.auth.Subject[]
StackMap stack: java.io.IOException
18: astore 7
start local 7 19: aload 0
getfield javax.management.remote.rmi.RMIConnector$RMINotifClient.this$0:Ljavax/management/remote/rmi/RMIConnector;
getfield javax.management.remote.rmi.RMIConnector.communicatorAdmin:Lcom/sun/jmx/remote/internal/ClientCommunicatorAdmin;
aload 7
invokevirtual com.sun.jmx.remote.internal.ClientCommunicatorAdmin.gotIOException:(Ljava/io/IOException;)V
20: aload 0
getfield javax.management.remote.rmi.RMIConnector$RMINotifClient.this$0:Ljavax/management/remote/rmi/RMIConnector;
getfield javax.management.remote.rmi.RMIConnector.connection:Ljavax/management/remote/rmi/RMIConnection;
aload 4
21: aload 5
22: aload 6
23: invokeinterface javax.management.remote.rmi.RMIConnection.addNotificationListeners:([Ljavax/management/ObjectName;[Ljava/rmi/MarshalledObject;[Ljavax/security/auth/Subject;)[Ljava/lang/Integer;
24: astore 3
end local 7 start local 3 25: StackMap locals: javax.management.remote.rmi.RMIConnector$RMINotifClient javax.management.NotificationFilterSupport java.rmi.MarshalledObject java.lang.Integer[] javax.management.ObjectName[] java.rmi.MarshalledObject[] javax.security.auth.Subject[]
StackMap stack:
aload 3
iconst_0
aaload
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 26 0 this Ljavax/management/remote/rmi/RMIConnector$RMINotifClient;
2 26 1 clientFilter Ljavax/management/NotificationFilterSupport;
7 26 2 sFilter Ljava/rmi/MarshalledObject<Ljavax/management/NotificationFilter;>;
17 18 3 listenerIDs [Ljava/lang/Integer;
25 26 3 listenerIDs [Ljava/lang/Integer;
9 26 4 names [Ljavax/management/ObjectName;
11 26 5 filters [Ljava/rmi/MarshalledObject;
12 26 6 subjects [Ljavax/security/auth/Subject;
19 25 7 ioe Ljava/io/IOException;
Exception table:
from to target type
12 17 18 Class java.io.IOException
Exceptions:
throws java.io.IOException, javax.management.InstanceNotFoundException
protected void removeListenerForMBeanRemovedNotif(java.lang.Integer);
descriptor: (Ljava/lang/Integer;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield javax.management.remote.rmi.RMIConnector$RMINotifClient.this$0:Ljavax/management/remote/rmi/RMIConnector;
getfield javax.management.remote.rmi.RMIConnector.connection:Ljavax/management/remote/rmi/RMIConnection;
1: getstatic javax.management.MBeanServerDelegate.DELEGATE_NAME:Ljavax/management/ObjectName;
2: iconst_1
anewarray java.lang.Integer
dup
iconst_0
aload 1
aastore
3: aconst_null
4: invokeinterface javax.management.remote.rmi.RMIConnection.removeNotificationListeners:(Ljavax/management/ObjectName;[Ljava/lang/Integer;Ljavax/security/auth/Subject;)V
5: goto 13
StackMap locals:
StackMap stack: java.io.IOException
6: astore 2
start local 2 7: aload 0
getfield javax.management.remote.rmi.RMIConnector$RMINotifClient.this$0:Ljavax/management/remote/rmi/RMIConnector;
getfield javax.management.remote.rmi.RMIConnector.communicatorAdmin:Lcom/sun/jmx/remote/internal/ClientCommunicatorAdmin;
aload 2
invokevirtual com.sun.jmx.remote.internal.ClientCommunicatorAdmin.gotIOException:(Ljava/io/IOException;)V
8: aload 0
getfield javax.management.remote.rmi.RMIConnector$RMINotifClient.this$0:Ljavax/management/remote/rmi/RMIConnector;
getfield javax.management.remote.rmi.RMIConnector.connection:Ljavax/management/remote/rmi/RMIConnection;
9: getstatic javax.management.MBeanServerDelegate.DELEGATE_NAME:Ljavax/management/ObjectName;
10: iconst_1
anewarray java.lang.Integer
dup
iconst_0
aload 1
aastore
11: aconst_null
12: invokeinterface javax.management.remote.rmi.RMIConnection.removeNotificationListeners:(Ljavax/management/ObjectName;[Ljava/lang/Integer;Ljavax/security/auth/Subject;)V
end local 2 13: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljavax/management/remote/rmi/RMIConnector$RMINotifClient;
0 14 1 id Ljava/lang/Integer;
7 13 2 ioe Ljava/io/IOException;
Exception table:
from to target type
0 5 6 Class java.io.IOException
Exceptions:
throws java.io.IOException, javax.management.InstanceNotFoundException, javax.management.ListenerNotFoundException
MethodParameters:
Name Flags
id
protected void lostNotifs(java.lang.String, long);
descriptor: (Ljava/lang/String;J)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=12, locals=5, args_size=3
start local 0 start local 1 start local 2 0: new javax.management.remote.JMXConnectionNotification
dup
ldc "jmx.remote.connection.notifs.lost"
1: aload 0
getfield javax.management.remote.rmi.RMIConnector$RMINotifClient.this$0:Ljavax/management/remote/rmi/RMIConnector;
2: aload 0
getfield javax.management.remote.rmi.RMIConnector$RMINotifClient.this$0:Ljavax/management/remote/rmi/RMIConnector;
getfield javax.management.remote.rmi.RMIConnector.connectionId:Ljava/lang/String;
3: aload 0
getfield javax.management.remote.rmi.RMIConnector$RMINotifClient.this$0:Ljavax/management/remote/rmi/RMIConnector;
dup
getfield javax.management.remote.rmi.RMIConnector.clientNotifCounter:J
dup2_x1
lconst_1
ladd
putfield javax.management.remote.rmi.RMIConnector.clientNotifCounter:J
4: aload 1
5: lload 2
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
6: invokespecial javax.management.remote.JMXConnectionNotification.<init>:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/String;JLjava/lang/String;Ljava/lang/Object;)V
7: astore 4
start local 4 8: aload 0
getfield javax.management.remote.rmi.RMIConnector$RMINotifClient.this$0:Ljavax/management/remote/rmi/RMIConnector;
aload 4
invokevirtual javax.management.remote.rmi.RMIConnector.sendNotification:(Ljavax/management/Notification;)V
9: return
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljavax/management/remote/rmi/RMIConnector$RMINotifClient;
0 10 1 message Ljava/lang/String;
0 10 2 number J
8 10 4 n Ljavax/management/remote/JMXConnectionNotification;
MethodParameters:
Name Flags
message
number
}
SourceFile: "RMIConnector.java"
NestHost: javax.management.remote.rmi.RMIConnector
InnerClasses:
private RMINotifClient = javax.management.remote.rmi.RMIConnector$RMINotifClient of javax.management.remote.rmi.RMIConnector
final Util = javax.management.remote.rmi.RMIConnector$Util of javax.management.remote.rmi.RMIConnector