public class javax.management.remote.rmi.RMIConnector implements javax.management.remote.JMXConnector, java.io.Serializable, javax.management.remote.JMXAddressable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: javax.management.remote.rmi.RMIConnector
super_class: java.lang.Object
{
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 long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 817323035842634473
private static final java.lang.String rmiServerImplStubClassName;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.Class<?> rmiServerImplStubClass;
descriptor: Ljava/lang/Class;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/lang/Class<*>;
private static final java.lang.String rmiConnectionImplStubClassName;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.Class<?> rmiConnectionImplStubClass;
descriptor: Ljava/lang/Class;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/lang/Class<*>;
private static final java.lang.String pRefClassName;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "com.sun.jmx.remote.internal.PRef"
private static final java.lang.reflect.Constructor<?> proxyRefConstructor;
descriptor: Ljava/lang/reflect/Constructor;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/lang/reflect/Constructor<*>;
private static final java.lang.String iiopConnectionStubClassName;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "org.omg.stub.javax.management.remote.rmi._RMIConnection_Stub"
private static final java.lang.String proxyStubClassName;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "com.sun.jmx.remote.protocol.iiop.ProxyStub"
private static final java.lang.String ProxyInputStreamClassName;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "com.sun.jmx.remote.protocol.iiop.ProxyInputStream"
private static final java.lang.String pInputStreamClassName;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "com.sun.jmx.remote.protocol.iiop.PInputStream"
private static final java.lang.Class<?> proxyStubClass;
descriptor: Ljava/lang/Class;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/lang/Class<*>;
private static final byte[] base64ToInt;
descriptor: [B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final javax.management.remote.rmi.RMIServer rmiServer;
descriptor: Ljavax/management/remote/rmi/RMIServer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final javax.management.remote.JMXServiceURL jmxServiceURL;
descriptor: Ljavax/management/remote/JMXServiceURL;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private transient java.util.Map<java.lang.String, java.lang.Object> env;
descriptor: Ljava/util/Map;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
private transient java.lang.ClassLoader defaultClassLoader;
descriptor: Ljava/lang/ClassLoader;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient javax.management.remote.rmi.RMIConnection connection;
descriptor: Ljavax/management/remote/rmi/RMIConnection;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient java.lang.String connectionId;
descriptor: Ljava/lang/String;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient long clientNotifSeqNo;
descriptor: J
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient java.util.WeakHashMap<javax.security.auth.Subject, java.lang.ref.WeakReference<javax.management.MBeanServerConnection>> rmbscMap;
descriptor: Ljava/util/WeakHashMap;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
Signature: Ljava/util/WeakHashMap<Ljavax/security/auth/Subject;Ljava/lang/ref/WeakReference<Ljavax/management/MBeanServerConnection;>;>;
private transient java.lang.ref.WeakReference<javax.management.MBeanServerConnection> nullSubjectConnRef;
descriptor: Ljava/lang/ref/WeakReference;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
Signature: Ljava/lang/ref/WeakReference<Ljavax/management/MBeanServerConnection;>;
private transient javax.management.remote.rmi.RMIConnector$RMINotifClient rmiNotifClient;
descriptor: Ljavax/management/remote/rmi/RMIConnector$RMINotifClient;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient long clientNotifCounter;
descriptor: J
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient boolean connected;
descriptor: Z
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient boolean terminated;
descriptor: Z
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient java.lang.Exception closeException;
descriptor: Ljava/lang/Exception;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient javax.management.NotificationBroadcasterSupport connectionBroadcaster;
descriptor: Ljavax/management/NotificationBroadcasterSupport;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient com.sun.jmx.remote.internal.ClientCommunicatorAdmin communicatorAdmin;
descriptor: Lcom/sun/jmx/remote/internal/ClientCommunicatorAdmin;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private static volatile java.lang.ref.WeakReference<java.lang.Object> orb;
descriptor: Ljava/lang/ref/WeakReference;
flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE
Signature: Ljava/lang/ref/WeakReference<Ljava/lang/Object;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=8, args_size=0
0: new com.sun.jmx.remote.util.ClassLogger
dup
ldc "javax.management.remote.rmi"
ldc "RMIConnector"
invokespecial com.sun.jmx.remote.util.ClassLogger.<init>:(Ljava/lang/String;Ljava/lang/String;)V
1: putstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
2: new java.lang.StringBuilder
dup
ldc Ljavax/management/remote/rmi/RMIServer;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "Impl_Stub"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: putstatic javax.management.remote.rmi.RMIConnector.rmiServerImplStubClassName:Ljava/lang/String;
4: new java.lang.StringBuilder
dup
ldc Ljavax/management/remote/rmi/RMIConnection;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "Impl_Stub"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: putstatic javax.management.remote.rmi.RMIConnector.rmiConnectionImplStubClassName:Ljava/lang/String;
6: ldc "\u00CA\u00FE\u00BA\u00BE\u0000\u0000\u0000.\u0000\u0017\n\u0000\u0005\u0000\r\t\u0000\u0004\u0000\u000E\u000B\u0000\u000F\u0000\u0010\u0007\u0000\u0011\u0007\u0000\u0012\u0001\u0000\u0006<init>\u0001\u0000\u001E(Ljava/rmi/server/RemoteRef;)V\u0001\u0000\u0004Code\u0001\u0000\u0006invoke\u0001\u0000S(Ljava/rmi/Remote;Ljava/lang/reflect/Method;[Ljava/lang/Object;J)Ljava/lang/Object;\u0001\u0000\nExceptions\u0007\u0000\u0013\f\u0000\u0006\u0000\u0007\f\u0000\u0014\u0000\u0015\u0007\u0000\u0016\f\u0000\t\u0000\n\u0001\u0000 com/sun/jmx/remote/internal/PRef\u0001\u0000$com/sun/jmx/remote/internal/ProxyRef\u0001\u0000\u0013java/lang/Exception\u0001\u0000\u0003ref\u0001\u0000\u001BLjava/rmi/server/RemoteRef;\u0001\u0000\u0019java/rmi/server/RemoteRef\u0000!\u0000\u0004\u0000\u0005\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0001\u0000\u0006\u0000\u0007\u0000\u0001\u0000\b\u0000\u0000\u0000\u0012\u0000\u0002\u0000\u0002\u0000\u0000\u0000\u0006*+\u00B7\u0000\u0001\u00B1\u0000\u0000\u0000\u0000\u0000\u0001\u0000\t\u0000\n\u0000\u0002\u0000\b\u0000\u0000\u0000\u001B\u0000\u0006\u0000\u0006\u0000\u0000\u0000\u000F*\u00B4\u0000\u0002+,-\u0016\u0004\u00B9\u0000\u0003\u0006\u0000\u00B0\u0000\u0000\u0000\u0000\u0000\u000B\u0000\u0000\u0000\u0004\u0000\u0001\u0000\f\u0000\u0000"
invokestatic javax.management.remote.rmi.NoCallStackClassLoader.stringToBytes:(Ljava/lang/String;)[B
7: astore 0
start local 0 8: new javax.management.remote.rmi.RMIConnector$1
dup
aload 0
invokespecial javax.management.remote.rmi.RMIConnector$1.<init>:([B)V
9: astore 1
start local 1 10: getstatic javax.management.remote.rmi.RMIConnector.rmiServerImplStubClassName:Ljava/lang/String;
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
astore 2
start local 2 11: goto 20
end local 2 StackMap locals: byte[] java.security.PrivilegedExceptionAction
StackMap stack: java.lang.Exception
12: astore 3
start local 3 13: getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "<clinit>"
14: new java.lang.StringBuilder
dup
ldc "Failed to instantiate "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
15: getstatic javax.management.remote.rmi.RMIConnector.rmiServerImplStubClassName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
16: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
17: invokevirtual com.sun.jmx.remote.util.ClassLogger.error:(Ljava/lang/String;Ljava/lang/String;)V
18: getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "<clinit>"
aload 3
invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
19: aconst_null
astore 2
end local 3 start local 2 20: StackMap locals: java.lang.Class
StackMap stack:
aload 2
putstatic javax.management.remote.rmi.RMIConnector.rmiServerImplStubClass:Ljava/lang/Class;
21: getstatic javax.management.remote.rmi.RMIConnector.rmiConnectionImplStubClassName:Ljava/lang/String;
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
astore 3
start local 3 22: aload 1
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
checkcast java.lang.reflect.Constructor
astore 4
start local 4 23: goto 33
end local 4 end local 3 StackMap locals:
StackMap stack: java.lang.Exception
24: astore 5
start local 5 25: getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "<clinit>"
26: new java.lang.StringBuilder
dup
ldc "Failed to initialize proxy reference constructor for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
27: getstatic javax.management.remote.rmi.RMIConnector.rmiConnectionImplStubClassName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
28: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
29: invokevirtual com.sun.jmx.remote.util.ClassLogger.error:(Ljava/lang/String;Ljava/lang/String;)V
30: getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "<clinit>"
aload 5
invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
31: aconst_null
astore 3
start local 3 32: aconst_null
astore 4
end local 5 start local 4 33: StackMap locals: java.lang.Class java.lang.reflect.Constructor
StackMap stack:
aload 3
putstatic javax.management.remote.rmi.RMIConnector.rmiConnectionImplStubClass:Ljava/lang/Class;
34: aload 4
putstatic javax.management.remote.rmi.RMIConnector.proxyRefConstructor:Ljava/lang/reflect/Constructor;
end local 4 end local 3 end local 2 end local 1 end local 0 35: ldc "\u00CA\u00FE\u00BA\u00BE\u0000\u0000\u00003\u0000+\n\u0000\f\u0000\u0018\u0007\u0000\u0019\n\u0000\f\u0000\u001A\n\u0000\u0002\u0000\u001B\u0007\u0000\u001C\n\u0000\u0005\u0000\u001D\n\u0000\u0005\u0000\u001E\n\u0000\u0005\u0000\u001F\n\u0000\u0002\u0000 \n\u0000\f\u0000!\u0007\u0000\"\u0007\u0000#\u0001\u0000\u0006<init>\u0001\u0000\u0003()V\u0001\u0000\u0004Code\u0001\u0000\u0007_invoke\u0001\u0000K(Lorg/omg/CORBA/portable/OutputStream;)Lorg/omg/CORBA/portable/InputStream;\u0001\u0000\rStackMapTable\u0007\u0000\u001C\u0001\u0000\nExceptions\u0007\u0000$\u0001\u0000\r_releaseReply\u0001\u0000'(Lorg/omg/CORBA/portable/InputStream;)V\f\u0000\r\u0000\u000E\u0001\u0000-com/sun/jmx/remote/protocol/iiop/PInputStream\f\u0000\u0010\u0000\u0011\f\u0000\r\u0000\u0017\u0001\u0000+org/omg/CORBA/portable/ApplicationException\f\u0000%\u0000&\f\u0000'\u0000(\f\u0000\r\u0000)\f\u0000*\u0000&\f\u0000\u0016\u0000\u0017\u0001\u0000*com/sun/jmx/remote/protocol/iiop/ProxyStub\u0001\u0000<org/omg/stub/javax/management/remote/rmi/_RMIConnection_Stub\u0001\u0000)org/omg/CORBA/portable/RemarshalException\u0001\u0000\u000EgetInputStream\u0001\u0000&()Lorg/omg/CORBA/portable/InputStream;\u0001\u0000\u0005getId\u0001\u0000\u0014()Ljava/lang/String;\u0001\u00009(Ljava/lang/String;Lorg/omg/CORBA/portable/InputStream;)V\u0001\u0000\u0015getProxiedInputStream\u0000!\u0000\u000B\u0000\f\u0000\u0000\u0000\u0000\u0000\u0003\u0000\u0001\u0000\r\u0000\u000E\u0000\u0001\u0000\u000F\u0000\u0000\u0000\u0011\u0000\u0001\u0000\u0001\u0000\u0000\u0000\u0005*\u00B7\u0000\u0001\u00B1\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0010\u0000\u0011\u0000\u0002\u0000\u000F\u0000\u0000\u0000G\u0000\u0004\u0000\u0004\u0000\u0000\u0000'\u00BB\u0000\u0002Y*+\u00B7\u0000\u0003\u00B7\u0000\u0004\u00B0M\u00BB\u0000\u0002Y,\u00B6\u0000\u0006\u00B7\u0000\u0004N\u00BB\u0000\u0005Y,\u00B6\u0000\u0007-\u00B7\u0000\b\u00BF\u0000\u0001\u0000\u0000\u0000\f\u0000\r\u0000\u0005\u0000\u0001\u0000\u0012\u0000\u0000\u0000\u0006\u0000\u0001M\u0007\u0000\u0013\u0000\u0014\u0000\u0000\u0000\u0006\u0000\u0002\u0000\u0005\u0000\u0015\u0000\u0001\u0000\u0016\u0000\u0017\u0000\u0001\u0000\u000F\u0000\u0000\u0000'\u0000\u0002\u0000\u0002\u0000\u0000\u0000\u0012+\u00C6\u0000\u000B+\u00C0\u0000\u0002\u00B6\u0000\tL*+\u00B7\u0000\n\u00B1\u0000\u0000\u0000\u0001\u0000\u0012\u0000\u0000\u0000\u0003\u0000\u0001\f\u0000\u0000"
invokestatic javax.management.remote.rmi.NoCallStackClassLoader.stringToBytes:(Ljava/lang/String;)[B
36: astore 0
start local 0 37: ldc "\u00CA\u00FE\u00BA\u00BE\u0000\u0000\u00003\u0000\u001E\n\u0000\u0007\u0000\u000F\t\u0000\u0006\u0000\u0010\n\u0000\u0011\u0000\u0012\n\u0000\u0006\u0000\u0013\n\u0000\u0014\u0000\u0015\u0007\u0000\u0016\u0007\u0000\u0017\u0001\u0000\u0006<init>\u0001\u0000'(Lorg/omg/CORBA/portable/InputStream;)V\u0001\u0000\u0004Code\u0001\u0000\bread_any\u0001\u0000\u0015()Lorg/omg/CORBA/Any;\u0001\u0000\nread_value\u0001\u0000)(Ljava/lang/Class;)Ljava/io/Serializable;\f\u0000\b\u0000\t\f\u0000\u0018\u0000\u0019\u0007\u0000\u001A\f\u0000\u000B\u0000\f\f\u0000\u001B\u0000\u001C\u0007\u0000\u001D\f\u0000\r\u0000\u000E\u0001\u0000-com/sun/jmx/remote/protocol/iiop/PInputStream\u0001\u00001com/sun/jmx/remote/protocol/iiop/ProxyInputStream\u0001\u0000\u0002in\u0001\u0000$Lorg/omg/CORBA/portable/InputStream;\u0001\u0000\"org/omg/CORBA/portable/InputStream\u0001\u0000\u0006narrow\u0001\u0000*()Lorg/omg/CORBA_2_3/portable/InputStream;\u0001\u0000&org/omg/CORBA_2_3/portable/InputStream\u0000!\u0000\u0006\u0000\u0007\u0000\u0000\u0000\u0000\u0000\u0003\u0000\u0001\u0000\b\u0000\t\u0000\u0001\u0000\n\u0000\u0000\u0000\u0012\u0000\u0002\u0000\u0002\u0000\u0000\u0000\u0006*+\u00B7\u0000\u0001\u00B1\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u000B\u0000\f\u0000\u0001\u0000\n\u0000\u0000\u0000\u0014\u0000\u0001\u0000\u0001\u0000\u0000\u0000\b*\u00B4\u0000\u0002\u00B6\u0000\u0003\u00B0\u0000\u0000\u0000\u0000\u0000\u0001\u0000\r\u0000\u000E\u0000\u0001\u0000\n\u0000\u0000\u0000\u0015\u0000\u0002\u0000\u0002\u0000\u0000\u0000\t*\u00B6\u0000\u0004+\u00B6\u0000\u0005\u00B0\u0000\u0000\u0000\u0000\u0000\u0000"
invokestatic javax.management.remote.rmi.NoCallStackClassLoader.stringToBytes:(Ljava/lang/String;)[B
38: astore 1
start local 1 39: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "com.sun.jmx.remote.protocol.iiop.ProxyStub"
aastore
dup
iconst_1
ldc "com.sun.jmx.remote.protocol.iiop.PInputStream"
aastore
astore 2
start local 2 40: iconst_2
anewarray byte[]
dup
iconst_0
aload 0
aastore
dup
iconst_1
aload 1
aastore
astore 3
start local 3 41: iconst_2
anewarray java.lang.String
dup
iconst_0
42: ldc "org.omg.stub.javax.management.remote.rmi._RMIConnection_Stub"
aastore
dup
iconst_1
43: ldc "com.sun.jmx.remote.protocol.iiop.ProxyInputStream"
aastore
44: astore 4
start local 4 45: invokestatic com.sun.jmx.remote.internal.IIOPHelper.isAvailable:()Z
ifeq 58
46: new javax.management.remote.rmi.RMIConnector$2
dup
aload 2
aload 3
aload 4
invokespecial javax.management.remote.rmi.RMIConnector$2.<init>:([Ljava/lang/String;[[B[Ljava/lang/String;)V
47: astore 5
start local 5 48: aload 5
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
checkcast java.lang.Class
astore 6
start local 6 49: goto 56
end local 6 StackMap locals: byte[] byte[] java.lang.String[] byte[][] java.lang.String[] java.security.PrivilegedExceptionAction
StackMap stack: java.lang.Exception
50: astore 7
start local 7 51: getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "<clinit>"
52: new java.lang.StringBuilder
dup
ldc "Unexpected exception making shadow IIOP stub class: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
53: invokevirtual com.sun.jmx.remote.util.ClassLogger.error:(Ljava/lang/String;Ljava/lang/String;)V
54: getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "<clinit>"
aload 7
invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
55: aconst_null
astore 6
end local 7 start local 6 56: StackMap locals: java.lang.Class
StackMap stack:
aload 6
putstatic javax.management.remote.rmi.RMIConnector.proxyStubClass:Ljava/lang/Class;
end local 6 end local 5 57: goto 59
58: StackMap locals:
StackMap stack:
aconst_null
putstatic javax.management.remote.rmi.RMIConnector.proxyStubClass:Ljava/lang/Class;
end local 4 end local 3 end local 2 end local 1 end local 0 59: StackMap locals:
StackMap stack:
bipush 123
newarray 8
dup
iconst_0
60: iconst_m1
bastore
dup
iconst_1
iconst_m1
bastore
dup
iconst_2
iconst_m1
bastore
dup
iconst_3
iconst_m1
bastore
dup
iconst_4
iconst_m1
bastore
dup
iconst_5
iconst_m1
bastore
dup
bipush 6
iconst_m1
bastore
dup
bipush 7
iconst_m1
bastore
dup
bipush 8
iconst_m1
bastore
dup
bipush 9
iconst_m1
bastore
dup
bipush 10
iconst_m1
bastore
dup
bipush 11
iconst_m1
bastore
dup
bipush 12
iconst_m1
bastore
dup
bipush 13
iconst_m1
bastore
dup
bipush 14
iconst_m1
bastore
dup
bipush 15
iconst_m1
bastore
dup
bipush 16
iconst_m1
bastore
dup
bipush 17
61: iconst_m1
bastore
dup
bipush 18
iconst_m1
bastore
dup
bipush 19
iconst_m1
bastore
dup
bipush 20
iconst_m1
bastore
dup
bipush 21
iconst_m1
bastore
dup
bipush 22
iconst_m1
bastore
dup
bipush 23
iconst_m1
bastore
dup
bipush 24
iconst_m1
bastore
dup
bipush 25
iconst_m1
bastore
dup
bipush 26
iconst_m1
bastore
dup
bipush 27
iconst_m1
bastore
dup
bipush 28
iconst_m1
bastore
dup
bipush 29
iconst_m1
bastore
dup
bipush 30
iconst_m1
bastore
dup
bipush 31
iconst_m1
bastore
dup
bipush 32
iconst_m1
bastore
dup
bipush 33
iconst_m1
bastore
dup
bipush 34
62: iconst_m1
bastore
dup
bipush 35
iconst_m1
bastore
dup
bipush 36
iconst_m1
bastore
dup
bipush 37
iconst_m1
bastore
dup
bipush 38
iconst_m1
bastore
dup
bipush 39
iconst_m1
bastore
dup
bipush 40
iconst_m1
bastore
dup
bipush 41
iconst_m1
bastore
dup
bipush 42
iconst_m1
bastore
dup
bipush 43
bipush 62
bastore
dup
bipush 44
iconst_m1
bastore
dup
bipush 45
iconst_m1
bastore
dup
bipush 46
iconst_m1
bastore
dup
bipush 47
bipush 63
bastore
dup
bipush 48
bipush 52
bastore
dup
bipush 49
bipush 53
bastore
dup
bipush 50
bipush 54
bastore
dup
bipush 51
63: bipush 55
bastore
dup
bipush 52
bipush 56
bastore
dup
bipush 53
bipush 57
bastore
dup
bipush 54
bipush 58
bastore
dup
bipush 55
bipush 59
bastore
dup
bipush 56
bipush 60
bastore
dup
bipush 57
bipush 61
bastore
dup
bipush 58
iconst_m1
bastore
dup
bipush 59
iconst_m1
bastore
dup
bipush 60
iconst_m1
bastore
dup
bipush 61
iconst_m1
bastore
dup
bipush 62
iconst_m1
bastore
dup
bipush 63
iconst_m1
bastore
dup
bipush 64
iconst_m1
bastore
dup
bipush 66
iconst_1
bastore
dup
bipush 67
iconst_2
bastore
dup
bipush 68
iconst_3
bastore
dup
bipush 69
iconst_4
bastore
dup
bipush 70
64: iconst_5
bastore
dup
bipush 71
bipush 6
bastore
dup
bipush 72
bipush 7
bastore
dup
bipush 73
bipush 8
bastore
dup
bipush 74
bipush 9
bastore
dup
bipush 75
bipush 10
bastore
dup
bipush 76
bipush 11
bastore
dup
bipush 77
bipush 12
bastore
dup
bipush 78
bipush 13
bastore
dup
bipush 79
bipush 14
bastore
dup
bipush 80
bipush 15
bastore
dup
bipush 81
bipush 16
bastore
dup
bipush 82
bipush 17
bastore
dup
bipush 83
bipush 18
bastore
dup
bipush 84
bipush 19
bastore
dup
bipush 85
bipush 20
bastore
dup
bipush 86
bipush 21
bastore
dup
bipush 87
bipush 22
bastore
dup
bipush 88
bipush 23
bastore
dup
bipush 89
65: bipush 24
bastore
dup
bipush 90
bipush 25
bastore
dup
bipush 91
iconst_m1
bastore
dup
bipush 92
iconst_m1
bastore
dup
bipush 93
iconst_m1
bastore
dup
bipush 94
iconst_m1
bastore
dup
bipush 95
iconst_m1
bastore
dup
bipush 96
iconst_m1
bastore
dup
bipush 97
bipush 26
bastore
dup
bipush 98
bipush 27
bastore
dup
bipush 99
bipush 28
bastore
dup
bipush 100
bipush 29
bastore
dup
bipush 101
bipush 30
bastore
dup
bipush 102
bipush 31
bastore
dup
bipush 103
bipush 32
bastore
dup
bipush 104
bipush 33
bastore
dup
bipush 105
bipush 34
bastore
dup
bipush 106
66: bipush 35
bastore
dup
bipush 107
bipush 36
bastore
dup
bipush 108
bipush 37
bastore
dup
bipush 109
bipush 38
bastore
dup
bipush 110
bipush 39
bastore
dup
bipush 111
bipush 40
bastore
dup
bipush 112
bipush 41
bastore
dup
bipush 113
bipush 42
bastore
dup
bipush 114
bipush 43
bastore
dup
bipush 115
bipush 44
bastore
dup
bipush 116
bipush 45
bastore
dup
bipush 117
bipush 46
bastore
dup
bipush 118
bipush 47
bastore
dup
bipush 119
bipush 48
bastore
dup
bipush 120
bipush 49
bastore
dup
bipush 121
bipush 50
bastore
dup
bipush 122
bipush 51
bastore
67: putstatic javax.management.remote.rmi.RMIConnector.base64ToInt:[B
68: aconst_null
putstatic javax.management.remote.rmi.RMIConnector.orb:Ljava/lang/ref/WeakReference;
return
LocalVariableTable:
Start End Slot Name Signature
8 35 0 pRefByteCode [B
10 35 1 action Ljava/security/PrivilegedExceptionAction<Ljava/lang/reflect/Constructor<*>;>;
11 12 2 serverStubClass Ljava/lang/Class<*>;
20 35 2 serverStubClass Ljava/lang/Class<*>;
13 20 3 e Ljava/lang/Exception;
22 24 3 stubClass Ljava/lang/Class<*>;
32 35 3 stubClass Ljava/lang/Class<*>;
23 24 4 constr Ljava/lang/reflect/Constructor<*>;
33 35 4 constr Ljava/lang/reflect/Constructor<*>;
25 33 5 e Ljava/lang/Exception;
37 59 0 proxyStubByteCode [B
39 59 1 pInputStreamByteCode [B
40 59 2 classNames [Ljava/lang/String;
41 59 3 byteCodes [[B
45 59 4 otherClassNames [Ljava/lang/String;
48 57 5 action Ljava/security/PrivilegedExceptionAction<Ljava/lang/Class<*>;>;
49 50 6 stubClass Ljava/lang/Class<*>;
56 57 6 stubClass Ljava/lang/Class<*>;
51 56 7 e Ljava/lang/Exception;
Exception table:
from to target type
10 11 12 Class java.lang.Exception
21 23 24 Class java.lang.Exception
48 49 50 Class java.lang.Exception
private void <init>(javax.management.remote.rmi.RMIServer, javax.management.remote.JMXServiceURL, java.util.Map<java.lang.String, ?>);
descriptor: (Ljavax/management/remote/rmi/RMIServer;Ljavax/management/remote/JMXServiceURL;Ljava/util/Map;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
lconst_0
putfield javax.management.remote.rmi.RMIConnector.clientNotifSeqNo:J
2: aload 0
aconst_null
putfield javax.management.remote.rmi.RMIConnector.nullSubjectConnRef:Ljava/lang/ref/WeakReference;
3: aload 0
lconst_0
putfield javax.management.remote.rmi.RMIConnector.clientNotifCounter:J
4: aload 1
ifnonnull 7
aload 2
ifnonnull 7
5: new java.lang.IllegalArgumentException
dup
ldc "rmiServer and jmxServiceURL both null"
6: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals: javax.management.remote.rmi.RMIConnector javax.management.remote.rmi.RMIServer javax.management.remote.JMXServiceURL java.util.Map
StackMap stack:
aload 0
invokevirtual javax.management.remote.rmi.RMIConnector.initTransients:()V
8: aload 0
aload 1
putfield javax.management.remote.rmi.RMIConnector.rmiServer:Ljavax/management/remote/rmi/RMIServer;
9: aload 0
aload 2
putfield javax.management.remote.rmi.RMIConnector.jmxServiceURL:Ljavax/management/remote/JMXServiceURL;
10: aload 3
ifnonnull 13
11: aload 0
invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
putfield javax.management.remote.rmi.RMIConnector.env:Ljava/util/Map;
12: goto 15
13: StackMap locals:
StackMap stack:
aload 3
invokestatic com.sun.jmx.remote.util.EnvHelp.checkAttributes:(Ljava/util/Map;)V
14: aload 0
aload 3
invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
putfield javax.management.remote.rmi.RMIConnector.env:Ljava/util/Map;
15: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Ljavax/management/remote/rmi/RMIConnector;
0 16 1 rmiServer Ljavax/management/remote/rmi/RMIServer;
0 16 2 address Ljavax/management/remote/JMXServiceURL;
0 16 3 environment Ljava/util/Map<Ljava/lang/String;*>;
Signature: (Ljavax/management/remote/rmi/RMIServer;Ljavax/management/remote/JMXServiceURL;Ljava/util/Map<Ljava/lang/String;*>;)V
MethodParameters:
Name Flags
rmiServer
address
environment
public void <init>(javax.management.remote.JMXServiceURL, java.util.Map<java.lang.String, ?>);
descriptor: (Ljavax/management/remote/JMXServiceURL;Ljava/util/Map;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aconst_null
aload 1
aload 2
invokespecial javax.management.remote.rmi.RMIConnector.<init>:(Ljavax/management/remote/rmi/RMIServer;Ljavax/management/remote/JMXServiceURL;Ljava/util/Map;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljavax/management/remote/rmi/RMIConnector;
0 2 1 url Ljavax/management/remote/JMXServiceURL;
0 2 2 environment Ljava/util/Map<Ljava/lang/String;*>;
Signature: (Ljavax/management/remote/JMXServiceURL;Ljava/util/Map<Ljava/lang/String;*>;)V
MethodParameters:
Name Flags
url
environment
public void <init>(javax.management.remote.rmi.RMIServer, java.util.Map<java.lang.String, ?>);
descriptor: (Ljavax/management/remote/rmi/RMIServer;Ljava/util/Map;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aconst_null
aload 2
invokespecial javax.management.remote.rmi.RMIConnector.<init>:(Ljavax/management/remote/rmi/RMIServer;Ljavax/management/remote/JMXServiceURL;Ljava/util/Map;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljavax/management/remote/rmi/RMIConnector;
0 2 1 rmiServer Ljavax/management/remote/rmi/RMIServer;
0 2 2 environment Ljava/util/Map<Ljava/lang/String;*>;
Signature: (Ljavax/management/remote/rmi/RMIServer;Ljava/util/Map<Ljava/lang/String;*>;)V
MethodParameters:
Name Flags
rmiServer
environment
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 1
start local 1 1: aload 1
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
2: aload 0
getfield javax.management.remote.rmi.RMIConnector.rmiServer:Ljavax/management/remote/rmi/RMIServer;
ifnull 4
3: aload 1
ldc " rmiServer="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield javax.management.remote.rmi.RMIConnector.rmiServer:Ljavax/management/remote/rmi/RMIServer;
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
4: StackMap locals: java.lang.StringBuilder
StackMap stack:
aload 0
getfield javax.management.remote.rmi.RMIConnector.jmxServiceURL:Ljavax/management/remote/JMXServiceURL;
ifnull 7
5: aload 0
getfield javax.management.remote.rmi.RMIConnector.rmiServer:Ljavax/management/remote/rmi/RMIServer;
ifnull 6
aload 1
ldc ","
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
6: StackMap locals:
StackMap stack:
aload 1
ldc " jmxServiceURL="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield javax.management.remote.rmi.RMIConnector.jmxServiceURL:Ljavax/management/remote/JMXServiceURL;
invokevirtual javax.management.remote.JMXServiceURL.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
7: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljavax/management/remote/rmi/RMIConnector;
1 8 1 b Ljava/lang/StringBuilder;
public javax.management.remote.JMXServiceURL getAddress();
descriptor: ()Ljavax/management/remote/JMXServiceURL;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield javax.management.remote.rmi.RMIConnector.jmxServiceURL:Ljavax/management/remote/JMXServiceURL;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavax/management/remote/rmi/RMIConnector;
public void connect();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
invokevirtual javax.management.remote.rmi.RMIConnector.connect:(Ljava/util/Map;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljavax/management/remote/rmi/RMIConnector;
Exceptions:
throws java.io.IOException
public synchronized void connect(java.util.Map<java.lang.String, ?>);
descriptor: (Ljava/util/Map;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=12, locals=13, args_size=2
start local 0 start local 1 0: getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
invokevirtual com.sun.jmx.remote.util.ClassLogger.traceOn:()Z
istore 2
start local 2 1: iload 2
ifeq 2
new java.lang.StringBuilder
dup
ldc "["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual javax.management.remote.rmi.RMIConnector.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
goto 3
StackMap locals: int
StackMap stack:
2: aconst_null
StackMap locals:
StackMap stack: java.lang.String
3: astore 3
start local 3 4: aload 0
getfield javax.management.remote.rmi.RMIConnector.terminated:Z
ifeq 7
5: getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "connect"
new java.lang.StringBuilder
dup
aload 3
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " already closed."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)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
6: new java.io.IOException
dup
ldc "Connector closed"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield javax.management.remote.rmi.RMIConnector.connected:Z
ifeq 10
8: getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "connect"
new java.lang.StringBuilder
dup
aload 3
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " already connected."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)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
9: return
10: StackMap locals:
StackMap stack:
iload 2
ifeq 11
getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "connect"
new java.lang.StringBuilder
dup
aload 3
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " connecting..."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)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
11: StackMap locals:
StackMap stack:
new java.util.HashMap
dup
aload 0
getfield javax.management.remote.rmi.RMIConnector.env:Ljava/util/Map;
ifnonnull 13
12: invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
goto 14
StackMap locals: javax.management.remote.rmi.RMIConnector java.util.Map int java.lang.String
StackMap stack: new 11 new 11
13: aload 0
getfield javax.management.remote.rmi.RMIConnector.env:Ljava/util/Map;
14: StackMap locals: javax.management.remote.rmi.RMIConnector java.util.Map int java.lang.String
StackMap stack: new 11 new 11 java.util.Map
invokespecial java.util.HashMap.<init>:(Ljava/util/Map;)V
15: astore 4
start local 4 16: aload 1
ifnull 19
17: aload 1
invokestatic com.sun.jmx.remote.util.EnvHelp.checkAttributes:(Ljava/util/Map;)V
18: aload 4
aload 1
invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
19: StackMap locals: java.util.Map
StackMap stack:
iload 2
ifeq 20
getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "connect"
new java.lang.StringBuilder
dup
aload 3
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " finding stub..."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)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
20: StackMap locals:
StackMap stack:
aload 0
getfield javax.management.remote.rmi.RMIConnector.rmiServer:Ljavax/management/remote/rmi/RMIServer;
ifnull 21
aload 0
getfield javax.management.remote.rmi.RMIConnector.rmiServer:Ljavax/management/remote/rmi/RMIServer;
goto 22
21: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield javax.management.remote.rmi.RMIConnector.jmxServiceURL:Ljavax/management/remote/JMXServiceURL;
aload 4
invokevirtual javax.management.remote.rmi.RMIConnector.findRMIServer:(Ljavax/management/remote/JMXServiceURL;Ljava/util/Map;)Ljavax/management/remote/rmi/RMIServer;
22: StackMap locals:
StackMap stack: javax.management.remote.rmi.RMIServer
astore 5
start local 5 23: aload 4
ldc "jmx.remote.x.check.stub"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 6
start local 6 24: aload 6
invokestatic com.sun.jmx.remote.util.EnvHelp.computeBooleanFromString:(Ljava/lang/String;)Z
istore 7
start local 7 25: iload 7
ifeq 26
aload 5
getstatic javax.management.remote.rmi.RMIConnector.rmiServerImplStubClass:Ljava/lang/Class;
invokestatic javax.management.remote.rmi.RMIConnector.checkStub:(Ljava/rmi/Remote;Ljava/lang/Class;)V
26: StackMap locals: javax.management.remote.rmi.RMIServer java.lang.String int
StackMap stack:
iload 2
ifeq 27
getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "connect"
new java.lang.StringBuilder
dup
aload 3
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " connecting stub..."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)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
27: StackMap locals:
StackMap stack:
aload 5
aload 4
invokestatic javax.management.remote.rmi.RMIConnector.connectStub:(Ljavax/management/remote/rmi/RMIServer;Ljava/util/Map;)Ljavax/management/remote/rmi/RMIServer;
astore 5
28: iload 2
ifeq 29
new java.lang.StringBuilder
dup
ldc "["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual javax.management.remote.rmi.RMIConnector.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
goto 30
StackMap locals:
StackMap stack:
29: aconst_null
StackMap locals:
StackMap stack: java.lang.String
30: astore 3
31: iload 2
ifeq 33
32: getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "connect"
new java.lang.StringBuilder
dup
aload 3
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " getting connection..."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)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
33: StackMap locals:
StackMap stack:
aload 4
ldc "jmx.remote.credentials"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 8
start local 8 34: aload 0
aload 5
aload 8
iload 7
invokestatic javax.management.remote.rmi.RMIConnector.getConnection:(Ljavax/management/remote/rmi/RMIServer;Ljava/lang/Object;Z)Ljavax/management/remote/rmi/RMIConnection;
putfield javax.management.remote.rmi.RMIConnector.connection:Ljavax/management/remote/rmi/RMIConnection;
35: goto 48
StackMap locals: javax.management.remote.rmi.RMIConnector java.util.Map int java.lang.String java.util.Map javax.management.remote.rmi.RMIServer java.lang.String int java.lang.Object
StackMap stack: java.rmi.RemoteException
36: astore 9
start local 9 37: aload 0
getfield javax.management.remote.rmi.RMIConnector.jmxServiceURL:Ljavax/management/remote/JMXServiceURL;
ifnull 47
38: aload 0
getfield javax.management.remote.rmi.RMIConnector.jmxServiceURL:Ljavax/management/remote/JMXServiceURL;
invokevirtual javax.management.remote.JMXServiceURL.getProtocol:()Ljava/lang/String;
astore 10
start local 10 39: aload 0
getfield javax.management.remote.rmi.RMIConnector.jmxServiceURL:Ljavax/management/remote/JMXServiceURL;
invokevirtual javax.management.remote.JMXServiceURL.getURLPath:()Ljava/lang/String;
astore 11
start local 11 40: ldc "rmi"
aload 10
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 47
41: aload 11
ldc "/jndi/iiop:"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 47
42: new java.net.MalformedURLException
dup
43: new java.lang.StringBuilder
dup
ldc "Protocol is rmi but JNDI scheme is iiop: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield javax.management.remote.rmi.RMIConnector.jmxServiceURL:Ljavax/management/remote/JMXServiceURL;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
44: invokespecial java.net.MalformedURLException.<init>:(Ljava/lang/String;)V
astore 12
start local 12 45: aload 12
aload 9
invokevirtual java.net.MalformedURLException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
46: aload 12
athrow
end local 12 end local 11 end local 10 47: StackMap locals: java.rmi.RemoteException
StackMap stack:
aload 9
athrow
end local 9 48: StackMap locals:
StackMap stack:
iload 2
ifeq 50
49: getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "connect"
new java.lang.StringBuilder
dup
aload 3
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " getting class loader..."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)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
50: StackMap locals:
StackMap stack:
aload 0
aload 4
invokestatic com.sun.jmx.remote.util.EnvHelp.resolveClientClassLoader:(Ljava/util/Map;)Ljava/lang/ClassLoader;
putfield javax.management.remote.rmi.RMIConnector.defaultClassLoader:Ljava/lang/ClassLoader;
51: aload 4
ldc "jmx.remote.default.class.loader"
52: aload 0
getfield javax.management.remote.rmi.RMIConnector.defaultClassLoader:Ljava/lang/ClassLoader;
53: invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
54: aload 0
new javax.management.remote.rmi.RMIConnector$RMINotifClient
dup
aload 0
aload 0
getfield javax.management.remote.rmi.RMIConnector.defaultClassLoader:Ljava/lang/ClassLoader;
aload 4
invokespecial javax.management.remote.rmi.RMIConnector$RMINotifClient.<init>:(Ljavax/management/remote/rmi/RMIConnector;Ljava/lang/ClassLoader;Ljava/util/Map;)V
putfield javax.management.remote.rmi.RMIConnector.rmiNotifClient:Ljavax/management/remote/rmi/RMIConnector$RMINotifClient;
55: aload 0
aload 4
putfield javax.management.remote.rmi.RMIConnector.env:Ljava/util/Map;
56: aload 4
invokestatic com.sun.jmx.remote.util.EnvHelp.getConnectionCheckPeriod:(Ljava/util/Map;)J
lstore 9
start local 9 57: aload 0
new javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin
dup
aload 0
lload 9
invokespecial javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin.<init>:(Ljavax/management/remote/rmi/RMIConnector;J)V
putfield javax.management.remote.rmi.RMIConnector.communicatorAdmin:Lcom/sun/jmx/remote/internal/ClientCommunicatorAdmin;
58: aload 0
iconst_1
putfield javax.management.remote.rmi.RMIConnector.connected:Z
59: aload 0
aload 0
invokevirtual javax.management.remote.rmi.RMIConnector.getConnectionId:()Ljava/lang/String;
putfield javax.management.remote.rmi.RMIConnector.connectionId:Ljava/lang/String;
60: new javax.management.remote.JMXConnectionNotification
dup
ldc "jmx.remote.connection.opened"
61: aload 0
62: aload 0
getfield javax.management.remote.rmi.RMIConnector.connectionId:Ljava/lang/String;
63: aload 0
dup
getfield javax.management.remote.rmi.RMIConnector.clientNotifSeqNo:J
dup2_x1
lconst_1
ladd
putfield javax.management.remote.rmi.RMIConnector.clientNotifSeqNo:J
64: ldc "Successful connection"
65: aconst_null
66: invokespecial javax.management.remote.JMXConnectionNotification.<init>:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/String;JLjava/lang/String;Ljava/lang/Object;)V
67: astore 11
start local 11 68: aload 0
aload 11
invokevirtual javax.management.remote.rmi.RMIConnector.sendNotification:(Ljavax/management/Notification;)V
69: iload 2
ifeq 83
getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "connect"
new java.lang.StringBuilder
dup
aload 3
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " done..."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)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
end local 11 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 70: goto 83
StackMap locals: javax.management.remote.rmi.RMIConnector java.util.Map int java.lang.String
StackMap stack: java.io.IOException
71: astore 4
start local 4 72: iload 2
ifeq 74
73: getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "connect"
new java.lang.StringBuilder
dup
aload 3
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " failed to connect: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
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.trace:(Ljava/lang/String;Ljava/lang/String;)V
74: StackMap locals: java.io.IOException
StackMap stack:
aload 4
athrow
end local 4 75: StackMap locals: javax.management.remote.rmi.RMIConnector java.util.Map int java.lang.String
StackMap stack: java.lang.RuntimeException
astore 4
start local 4 76: iload 2
ifeq 78
77: getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "connect"
new java.lang.StringBuilder
dup
aload 3
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " failed to connect: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
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.trace:(Ljava/lang/String;Ljava/lang/String;)V
78: StackMap locals: java.lang.RuntimeException
StackMap stack:
aload 4
athrow
end local 4 79: StackMap locals: javax.management.remote.rmi.RMIConnector java.util.Map int java.lang.String
StackMap stack: javax.naming.NamingException
astore 4
start local 4 80: new java.lang.StringBuilder
dup
ldc "Failed to retrieve RMIServer stub: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
start local 5 81: iload 2
ifeq 82
getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "connect"
new java.lang.StringBuilder
dup
aload 3
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)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
82: StackMap locals: javax.naming.NamingException java.lang.String
StackMap stack:
new java.io.IOException
dup
aload 5
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
aload 4
invokestatic com.sun.jmx.remote.util.EnvHelp.initCause:(Ljava/lang/Throwable;Ljava/lang/Throwable;)Ljava/lang/Throwable;
checkcast java.io.IOException
athrow
end local 5 end local 4 83: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 84 0 this Ljavax/management/remote/rmi/RMIConnector;
0 84 1 environment Ljava/util/Map<Ljava/lang/String;*>;
1 84 2 tracing Z
4 84 3 idstr Ljava/lang/String;
16 70 4 usemap Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
23 70 5 stub Ljavax/management/remote/rmi/RMIServer;
24 70 6 stringBoolean Ljava/lang/String;
25 70 7 checkStub Z
34 70 8 credentials Ljava/lang/Object;
37 48 9 re Ljava/rmi/RemoteException;
39 47 10 pro Ljava/lang/String;
40 47 11 path Ljava/lang/String;
45 47 12 mfe Ljava/net/MalformedURLException;
57 70 9 checkPeriod J
68 70 11 connectedNotif Ljavax/management/Notification;
72 75 4 e Ljava/io/IOException;
76 79 4 e Ljava/lang/RuntimeException;
80 83 4 e Ljavax/naming/NamingException;
81 83 5 msg Ljava/lang/String;
Exception table:
from to target type
34 35 36 Class java.rmi.RemoteException
10 70 71 Class java.io.IOException
10 70 75 Class java.lang.RuntimeException
10 70 79 Class javax.naming.NamingException
Exceptions:
throws java.io.IOException
Signature: (Ljava/util/Map<Ljava/lang/String;*>;)V
MethodParameters:
Name Flags
environment
public synchronized java.lang.String getConnectionId();
descriptor: ()Ljava/lang/String;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
getfield javax.management.remote.rmi.RMIConnector.terminated:Z
ifne 1
aload 0
getfield javax.management.remote.rmi.RMIConnector.connected:Z
ifne 6
1: StackMap locals:
StackMap stack:
getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
invokevirtual com.sun.jmx.remote.util.ClassLogger.traceOn:()Z
ifeq 5
2: getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "getConnectionId"
new java.lang.StringBuilder
dup
ldc "["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual javax.management.remote.rmi.RMIConnector.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: ldc "] not connected."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
5: StackMap locals:
StackMap stack:
new java.io.IOException
dup
ldc "Not connected"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield javax.management.remote.rmi.RMIConnector.connection:Ljavax/management/remote/rmi/RMIConnection;
invokeinterface javax.management.remote.rmi.RMIConnection.getConnectionId:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljavax/management/remote/rmi/RMIConnector;
Exceptions:
throws java.io.IOException
public synchronized javax.management.MBeanServerConnection getMBeanServerConnection();
descriptor: ()Ljavax/management/MBeanServerConnection;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
invokevirtual javax.management.remote.rmi.RMIConnector.getMBeanServerConnection:(Ljavax/security/auth/Subject;)Ljavax/management/MBeanServerConnection;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavax/management/remote/rmi/RMIConnector;
Exceptions:
throws java.io.IOException
public synchronized javax.management.MBeanServerConnection getMBeanServerConnection(javax.security.auth.Subject);
descriptor: (Ljavax/security/auth/Subject;)Ljavax/management/MBeanServerConnection;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield javax.management.remote.rmi.RMIConnector.terminated:Z
ifeq 6
1: getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
invokevirtual com.sun.jmx.remote.util.ClassLogger.traceOn:()Z
ifeq 5
2: getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "getMBeanServerConnection"
new java.lang.StringBuilder
dup
ldc "["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual javax.management.remote.rmi.RMIConnector.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: ldc "] already closed."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
5: StackMap locals:
StackMap stack:
new java.io.IOException
dup
ldc "Connection closed"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield javax.management.remote.rmi.RMIConnector.connected:Z
ifne 12
7: getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
invokevirtual com.sun.jmx.remote.util.ClassLogger.traceOn:()Z
ifeq 11
8: getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "getMBeanServerConnection"
new java.lang.StringBuilder
dup
ldc "["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual javax.management.remote.rmi.RMIConnector.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
9: ldc "] is not connected."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
10: invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
11: StackMap locals:
StackMap stack:
new java.io.IOException
dup
ldc "Not connected"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual javax.management.remote.rmi.RMIConnector.getConnectionWithSubject:(Ljavax/security/auth/Subject;)Ljavax/management/MBeanServerConnection;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljavax/management/remote/rmi/RMIConnector;
0 13 1 delegationSubject Ljavax/security/auth/Subject;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
delegationSubject
public void addConnectionNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object);
descriptor: (Ljavax/management/NotificationListener;Ljavax/management/NotificationFilter;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnonnull 2
1: new java.lang.NullPointerException
dup
ldc "listener"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield javax.management.remote.rmi.RMIConnector.connectionBroadcaster:Ljavax/management/NotificationBroadcasterSupport;
aload 1
aload 2
3: aload 3
4: invokevirtual javax.management.NotificationBroadcasterSupport.addNotificationListener:(Ljavax/management/NotificationListener;Ljavax/management/NotificationFilter;Ljava/lang/Object;)V
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljavax/management/remote/rmi/RMIConnector;
0 6 1 listener Ljavax/management/NotificationListener;
0 6 2 filter Ljavax/management/NotificationFilter;
0 6 3 handback Ljava/lang/Object;
MethodParameters:
Name Flags
listener
filter
handback
public void removeConnectionNotificationListener(javax.management.NotificationListener);
descriptor: (Ljavax/management/NotificationListener;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.NullPointerException
dup
ldc "listener"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield javax.management.remote.rmi.RMIConnector.connectionBroadcaster:Ljavax/management/NotificationBroadcasterSupport;
aload 1
invokevirtual javax.management.NotificationBroadcasterSupport.removeNotificationListener:(Ljavax/management/NotificationListener;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljavax/management/remote/rmi/RMIConnector;
0 4 1 listener Ljavax/management/NotificationListener;
Exceptions:
throws javax.management.ListenerNotFoundException
MethodParameters:
Name Flags
listener
public void removeConnectionNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object);
descriptor: (Ljavax/management/NotificationListener;Ljavax/management/NotificationFilter;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnonnull 2
1: new java.lang.NullPointerException
dup
ldc "listener"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield javax.management.remote.rmi.RMIConnector.connectionBroadcaster:Ljavax/management/NotificationBroadcasterSupport;
aload 1
aload 2
3: aload 3
4: invokevirtual javax.management.NotificationBroadcasterSupport.removeNotificationListener:(Ljavax/management/NotificationListener;Ljavax/management/NotificationFilter;Ljava/lang/Object;)V
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljavax/management/remote/rmi/RMIConnector;
0 6 1 listener Ljavax/management/NotificationListener;
0 6 2 filter Ljavax/management/NotificationFilter;
0 6 3 handback Ljava/lang/Object;
Exceptions:
throws javax.management.ListenerNotFoundException
MethodParameters:
Name Flags
listener
filter
handback
private void sendNotification(javax.management.Notification);
descriptor: (Ljavax/management/Notification;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield javax.management.remote.rmi.RMIConnector.connectionBroadcaster:Ljavax/management/NotificationBroadcasterSupport;
aload 1
invokevirtual javax.management.NotificationBroadcasterSupport.sendNotification:(Ljavax/management/Notification;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljavax/management/remote/rmi/RMIConnector;
0 2 1 n Ljavax/management/Notification;
MethodParameters:
Name Flags
n
public synchronized void close();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
invokevirtual javax.management.remote.rmi.RMIConnector.close:(Z)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljavax/management/remote/rmi/RMIConnector;
Exceptions:
throws java.io.IOException
private synchronized void close(boolean);
descriptor: (Z)V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=12, locals=7, args_size=2
start local 0 start local 1 0: getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
invokevirtual com.sun.jmx.remote.util.ClassLogger.traceOn:()Z
istore 2
start local 2 1: getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
invokevirtual com.sun.jmx.remote.util.ClassLogger.debugOn:()Z
istore 3
start local 3 2: iload 2
ifeq 3
new java.lang.StringBuilder
dup
ldc "["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual javax.management.remote.rmi.RMIConnector.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
goto 4
StackMap locals: int int
StackMap stack:
3: aconst_null
StackMap locals:
StackMap stack: java.lang.String
4: astore 4
start local 4 5: iload 1
ifne 11
6: aload 0
getfield javax.management.remote.rmi.RMIConnector.terminated:Z
ifeq 10
7: aload 0
getfield javax.management.remote.rmi.RMIConnector.closeException:Ljava/lang/Exception;
ifnonnull 11
8: iload 2
ifeq 9
getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "close"
new java.lang.StringBuilder
dup
aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " already closed."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)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
9: StackMap locals: java.lang.String
StackMap stack:
return
10: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield javax.management.remote.rmi.RMIConnector.terminated:Z
11: StackMap locals:
StackMap stack:
aload 0
getfield javax.management.remote.rmi.RMIConnector.closeException:Ljava/lang/Exception;
ifnull 15
iload 2
ifeq 15
12: iload 2
ifeq 15
13: getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "close"
new java.lang.StringBuilder
dup
aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " had failed: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield javax.management.remote.rmi.RMIConnector.closeException:Ljava/lang/Exception;
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.trace:(Ljava/lang/String;Ljava/lang/String;)V
14: getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "close"
new java.lang.StringBuilder
dup
aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " attempting to close again."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)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
15: StackMap locals:
StackMap stack:
aconst_null
astore 5
start local 5 16: aload 0
getfield javax.management.remote.rmi.RMIConnector.connected:Z
ifeq 18
17: aload 0
getfield javax.management.remote.rmi.RMIConnector.connectionId:Ljava/lang/String;
astore 5
18: StackMap locals: java.lang.String
StackMap stack:
aload 0
aconst_null
putfield javax.management.remote.rmi.RMIConnector.closeException:Ljava/lang/Exception;
19: iload 2
ifeq 20
getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "close"
new java.lang.StringBuilder
dup
aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " closing."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)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
20: StackMap locals:
StackMap stack:
aload 0
getfield javax.management.remote.rmi.RMIConnector.communicatorAdmin:Lcom/sun/jmx/remote/internal/ClientCommunicatorAdmin;
ifnull 22
21: aload 0
getfield javax.management.remote.rmi.RMIConnector.communicatorAdmin:Lcom/sun/jmx/remote/internal/ClientCommunicatorAdmin;
invokevirtual com.sun.jmx.remote.internal.ClientCommunicatorAdmin.terminate:()V
22: StackMap locals:
StackMap stack:
aload 0
getfield javax.management.remote.rmi.RMIConnector.rmiNotifClient:Ljavax/management/remote/rmi/RMIConnector$RMINotifClient;
ifnull 34
23: aload 0
getfield javax.management.remote.rmi.RMIConnector.rmiNotifClient:Ljavax/management/remote/rmi/RMIConnector$RMINotifClient;
invokevirtual javax.management.remote.rmi.RMIConnector$RMINotifClient.terminate:()V
24: iload 2
ifeq 34
getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "close"
new java.lang.StringBuilder
dup
aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
25: ldc " RMI Notification client terminated."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
26: invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
27: goto 34
StackMap locals:
StackMap stack: java.lang.RuntimeException
28: astore 6
start local 6 29: aload 0
aload 6
putfield javax.management.remote.rmi.RMIConnector.closeException:Ljava/lang/Exception;
30: iload 2
ifeq 33
getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "close"
new java.lang.StringBuilder
dup
aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
31: ldc " Failed to terminate RMI Notification client: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
32: invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
33: StackMap locals: java.lang.RuntimeException
StackMap stack:
iload 3
ifeq 34
getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "close"
aload 6
invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 6 34: StackMap locals:
StackMap stack:
aload 0
getfield javax.management.remote.rmi.RMIConnector.connection:Ljavax/management/remote/rmi/RMIConnection;
ifnull 45
35: aload 0
getfield javax.management.remote.rmi.RMIConnector.connection:Ljavax/management/remote/rmi/RMIConnection;
invokeinterface javax.management.remote.rmi.RMIConnection.close:()V
36: iload 2
ifeq 45
getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "close"
new java.lang.StringBuilder
dup
aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " closed."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)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
37: goto 45
StackMap locals:
StackMap stack: java.rmi.NoSuchObjectException
38: pop
goto 45
39: StackMap locals:
StackMap stack: java.io.IOException
astore 6
start local 6 40: aload 0
aload 6
putfield javax.management.remote.rmi.RMIConnector.closeException:Ljava/lang/Exception;
41: iload 2
ifeq 44
getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "close"
new java.lang.StringBuilder
dup
aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
42: ldc " Failed to close RMIServer: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
43: invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
44: StackMap locals: java.io.IOException
StackMap stack:
iload 3
ifeq 45
getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "close"
aload 6
invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 6 45: StackMap locals:
StackMap stack:
aload 0
getfield javax.management.remote.rmi.RMIConnector.rmbscMap:Ljava/util/WeakHashMap;
invokevirtual java.util.WeakHashMap.clear:()V
46: aload 5
ifnull 56
47: new javax.management.remote.JMXConnectionNotification
dup
ldc "jmx.remote.connection.closed"
48: aload 0
49: aload 5
50: aload 0
dup
getfield javax.management.remote.rmi.RMIConnector.clientNotifSeqNo:J
dup2_x1
lconst_1
ladd
putfield javax.management.remote.rmi.RMIConnector.clientNotifSeqNo:J
51: ldc "Client has been closed"
52: aconst_null
53: invokespecial javax.management.remote.JMXConnectionNotification.<init>:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/String;JLjava/lang/String;Ljava/lang/Object;)V
54: astore 6
start local 6 55: aload 0
aload 6
invokevirtual javax.management.remote.rmi.RMIConnector.sendNotification:(Ljavax/management/Notification;)V
end local 6 56: StackMap locals:
StackMap stack:
aload 0
getfield javax.management.remote.rmi.RMIConnector.closeException:Ljava/lang/Exception;
ifnull 67
57: iload 2
ifeq 60
getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "close"
new java.lang.StringBuilder
dup
aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " failed to close: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
58: aload 0
getfield javax.management.remote.rmi.RMIConnector.closeException:Ljava/lang/Exception;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
59: invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
60: StackMap locals:
StackMap stack:
aload 0
getfield javax.management.remote.rmi.RMIConnector.closeException:Ljava/lang/Exception;
instanceof java.io.IOException
ifeq 62
61: aload 0
getfield javax.management.remote.rmi.RMIConnector.closeException:Ljava/lang/Exception;
checkcast java.io.IOException
athrow
62: StackMap locals:
StackMap stack:
aload 0
getfield javax.management.remote.rmi.RMIConnector.closeException:Ljava/lang/Exception;
instanceof java.lang.RuntimeException
ifeq 64
63: aload 0
getfield javax.management.remote.rmi.RMIConnector.closeException:Ljava/lang/Exception;
checkcast java.lang.RuntimeException
athrow
64: StackMap locals:
StackMap stack:
new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Failed to close: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield javax.management.remote.rmi.RMIConnector.closeException:Ljava/lang/Exception;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
65: astore 6
start local 6 66: aload 6
aload 0
getfield javax.management.remote.rmi.RMIConnector.closeException:Ljava/lang/Exception;
invokestatic com.sun.jmx.remote.util.EnvHelp.initCause:(Ljava/lang/Throwable;Ljava/lang/Throwable;)Ljava/lang/Throwable;
checkcast java.io.IOException
athrow
end local 6 67: StackMap locals:
StackMap stack:
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 68 0 this Ljavax/management/remote/rmi/RMIConnector;
0 68 1 intern Z
1 68 2 tracing Z
2 68 3 debug Z
5 68 4 idstr Ljava/lang/String;
16 68 5 savedConnectionId Ljava/lang/String;
29 34 6 x Ljava/lang/RuntimeException;
40 45 6 e Ljava/io/IOException;
55 56 6 closedNotif Ljavax/management/Notification;
66 67 6 x Ljava/io/IOException;
Exception table:
from to target type
23 27 28 Class java.lang.RuntimeException
35 37 38 Class java.rmi.NoSuchObjectException
35 37 39 Class java.io.IOException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
intern
private java.lang.Integer addListenerWithSubject(javax.management.ObjectName, java.rmi.MarshalledObject<javax.management.NotificationFilter>, javax.security.auth.Subject, boolean);
descriptor: (Ljavax/management/ObjectName;Ljava/rmi/MarshalledObject;Ljavax/security/auth/Subject;Z)Ljava/lang/Integer;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=10, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
invokevirtual com.sun.jmx.remote.util.ClassLogger.debugOn:()Z
istore 5
start local 5 1: iload 5
ifeq 5
2: getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "addListenerWithSubject"
3: ldc "(ObjectName,MarshalledObject,Subject)"
4: invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/String;)V
5: StackMap locals: int
StackMap stack:
iconst_1
anewarray javax.management.ObjectName
dup
iconst_0
aload 1
aastore
astore 6
start local 6 6: iconst_1
anewarray java.rmi.MarshalledObject
dup
iconst_0
aload 2
aastore
invokestatic com.sun.jmx.mbeanserver.Util.cast:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.rmi.MarshalledObject[]
7: astore 7
start local 7 8: iconst_1
anewarray javax.security.auth.Subject
dup
iconst_0
9: aload 3
aastore
10: astore 8
start local 8 11: aload 0
aload 6
aload 7
aload 8
12: iload 4
13: invokevirtual javax.management.remote.rmi.RMIConnector.addListenersWithSubjects:([Ljavax/management/ObjectName;[Ljava/rmi/MarshalledObject;[Ljavax/security/auth/Subject;Z)[Ljava/lang/Integer;
14: astore 9
start local 9 15: iload 5
ifeq 18
getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "addListenerWithSubject"
new java.lang.StringBuilder
dup
ldc "listenerID="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
16: aload 9
iconst_0
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
17: invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/String;)V
18: StackMap locals: javax.management.remote.rmi.RMIConnector javax.management.ObjectName java.rmi.MarshalledObject javax.security.auth.Subject int int javax.management.ObjectName[] java.rmi.MarshalledObject[] javax.security.auth.Subject[] java.lang.Integer[]
StackMap stack:
aload 9
iconst_0
aaload
areturn
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 19 0 this Ljavax/management/remote/rmi/RMIConnector;
0 19 1 name Ljavax/management/ObjectName;
0 19 2 filter Ljava/rmi/MarshalledObject<Ljavax/management/NotificationFilter;>;
0 19 3 delegationSubject Ljavax/security/auth/Subject;
0 19 4 reconnect Z
1 19 5 debug Z
6 19 6 names [Ljavax/management/ObjectName;
8 19 7 filters [Ljava/rmi/MarshalledObject;
11 19 8 delegationSubjects [Ljavax/security/auth/Subject;
15 19 9 listenerIDs [Ljava/lang/Integer;
Exceptions:
throws javax.management.InstanceNotFoundException, java.io.IOException
Signature: (Ljavax/management/ObjectName;Ljava/rmi/MarshalledObject<Ljavax/management/NotificationFilter;>;Ljavax/security/auth/Subject;Z)Ljava/lang/Integer;
MethodParameters:
Name Flags
name
filter
delegationSubject
reconnect
private java.lang.Integer[] addListenersWithSubjects(javax.management.ObjectName[], java.rmi.MarshalledObject<javax.management.NotificationFilter>[], javax.security.auth.Subject[], boolean);
descriptor: ([Ljavax/management/ObjectName;[Ljava/rmi/MarshalledObject;[Ljavax/security/auth/Subject;Z)[Ljava/lang/Integer;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=10, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
invokevirtual com.sun.jmx.remote.util.ClassLogger.debugOn:()Z
istore 5
start local 5 1: iload 5
ifeq 5
2: getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "addListenersWithSubjects"
3: ldc "(ObjectName[],MarshalledObject[],Subject[])"
4: invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/String;)V
5: StackMap locals: int
StackMap stack:
aload 0
invokevirtual javax.management.remote.rmi.RMIConnector.pushDefaultClassLoader:()Ljava/lang/ClassLoader;
astore 6
start local 6 6: aconst_null
astore 7
start local 7 7: aload 0
getfield javax.management.remote.rmi.RMIConnector.connection:Ljavax/management/remote/rmi/RMIConnection;
aload 1
8: aload 2
9: aload 3
10: invokeinterface javax.management.remote.rmi.RMIConnection.addNotificationListeners:([Ljavax/management/ObjectName;[Ljava/rmi/MarshalledObject;[Ljavax/security/auth/Subject;)[Ljava/lang/Integer;
astore 7
11: goto 28
StackMap locals: javax.management.remote.rmi.RMIConnector javax.management.ObjectName[] java.rmi.MarshalledObject[] javax.security.auth.Subject[] int int java.lang.ClassLoader java.lang.Integer[]
StackMap stack: java.rmi.NoSuchObjectException
12: astore 8
start local 8 13: iload 4
ifeq 20
14: aload 0
getfield javax.management.remote.rmi.RMIConnector.communicatorAdmin:Lcom/sun/jmx/remote/internal/ClientCommunicatorAdmin;
aload 8
invokevirtual com.sun.jmx.remote.internal.ClientCommunicatorAdmin.gotIOException:(Ljava/io/IOException;)V
15: aload 0
getfield javax.management.remote.rmi.RMIConnector.connection:Ljavax/management/remote/rmi/RMIConnection;
aload 1
16: aload 2
17: aload 3
18: invokeinterface javax.management.remote.rmi.RMIConnection.addNotificationListeners:([Ljavax/management/ObjectName;[Ljava/rmi/MarshalledObject;[Ljavax/security/auth/Subject;)[Ljava/lang/Integer;
astore 7
19: goto 21
20: StackMap locals: java.rmi.NoSuchObjectException
StackMap stack:
aload 8
athrow
end local 8 21: StackMap locals:
StackMap stack:
aload 0
aload 6
invokevirtual javax.management.remote.rmi.RMIConnector.popDefaultClassLoader:(Ljava/lang/ClassLoader;)V
goto 29
22: StackMap locals:
StackMap stack: java.io.IOException
astore 8
start local 8 23: aload 0
getfield javax.management.remote.rmi.RMIConnector.communicatorAdmin:Lcom/sun/jmx/remote/internal/ClientCommunicatorAdmin;
aload 8
invokevirtual com.sun.jmx.remote.internal.ClientCommunicatorAdmin.gotIOException:(Ljava/io/IOException;)V
end local 8 24: aload 0
aload 6
invokevirtual javax.management.remote.rmi.RMIConnector.popDefaultClassLoader:(Ljava/lang/ClassLoader;)V
goto 29
25: StackMap locals:
StackMap stack: java.lang.Throwable
astore 9
26: aload 0
aload 6
invokevirtual javax.management.remote.rmi.RMIConnector.popDefaultClassLoader:(Ljava/lang/ClassLoader;)V
27: aload 9
athrow
28: StackMap locals:
StackMap stack:
aload 0
aload 6
invokevirtual javax.management.remote.rmi.RMIConnector.popDefaultClassLoader:(Ljava/lang/ClassLoader;)V
29: StackMap locals:
StackMap stack:
iload 5
ifeq 35
getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "addListenersWithSubjects"
new java.lang.StringBuilder
dup
ldc "registered "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
30: aload 7
ifnonnull 31
iconst_0
goto 32
StackMap locals: javax.management.remote.rmi.RMIConnector javax.management.ObjectName[] java.rmi.MarshalledObject[] javax.security.auth.Subject[] int int java.lang.ClassLoader java.lang.Integer[]
StackMap stack: com.sun.jmx.remote.util.ClassLogger java.lang.String java.lang.StringBuilder
31: aload 7
arraylength
StackMap locals: javax.management.remote.rmi.RMIConnector javax.management.ObjectName[] java.rmi.MarshalledObject[] javax.security.auth.Subject[] int int java.lang.ClassLoader java.lang.Integer[]
StackMap stack: com.sun.jmx.remote.util.ClassLogger java.lang.String java.lang.StringBuilder int
32: invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
33: ldc " listener(s)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
34: invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/String;)V
35: StackMap locals:
StackMap stack:
aload 7
areturn
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 36 0 this Ljavax/management/remote/rmi/RMIConnector;
0 36 1 names [Ljavax/management/ObjectName;
0 36 2 filters [Ljava/rmi/MarshalledObject;
0 36 3 delegationSubjects [Ljavax/security/auth/Subject;
0 36 4 reconnect Z
1 36 5 debug Z
6 36 6 old Ljava/lang/ClassLoader;
7 36 7 listenerIDs [Ljava/lang/Integer;
13 21 8 noe Ljava/rmi/NoSuchObjectException;
23 24 8 ioe Ljava/io/IOException;
Exception table:
from to target type
7 11 12 Class java.rmi.NoSuchObjectException
7 11 22 Class java.io.IOException
7 21 25 any
22 24 25 any
Exceptions:
throws javax.management.InstanceNotFoundException, java.io.IOException
Signature: ([Ljavax/management/ObjectName;[Ljava/rmi/MarshalledObject<Ljavax/management/NotificationFilter;>;[Ljavax/security/auth/Subject;Z)[Ljava/lang/Integer;
MethodParameters:
Name Flags
names
filters
delegationSubjects
reconnect
static javax.management.remote.rmi.RMIServer connectStub(javax.management.remote.rmi.RMIServer, java.util.Map<java.lang.String, ?>);
descriptor: (Ljavax/management/remote/rmi/RMIServer;Ljava/util/Map;)Ljavax/management/remote/rmi/RMIServer;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokestatic com.sun.jmx.remote.internal.IIOPHelper.isStub:(Ljava/lang/Object;)Z
ifeq 5
1: aload 0
invokestatic com.sun.jmx.remote.internal.IIOPHelper.getOrb:(Ljava/lang/Object;)Ljava/lang/Object;
pop
2: goto 5
StackMap locals:
StackMap stack: java.lang.UnsupportedOperationException
3: pop
4: aload 0
aload 1
invokestatic javax.management.remote.rmi.RMIConnector.resolveOrb:(Ljava/util/Map;)Ljava/lang/Object;
invokestatic com.sun.jmx.remote.internal.IIOPHelper.connect:(Ljava/lang/Object;Ljava/lang/Object;)V
5: StackMap locals:
StackMap stack:
aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 rmiServer Ljavax/management/remote/rmi/RMIServer;
0 6 1 environment Ljava/util/Map<Ljava/lang/String;*>;
Exception table:
from to target type
1 2 3 Class java.lang.UnsupportedOperationException
Exceptions:
throws java.io.IOException
Signature: (Ljavax/management/remote/rmi/RMIServer;Ljava/util/Map<Ljava/lang/String;*>;)Ljavax/management/remote/rmi/RMIServer;
MethodParameters:
Name Flags
rmiServer
environment
static resolveOrb(java.util.Map<java.lang.String, ?>);
descriptor: (Ljava/util/Map;)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
ifnull 5
1: aload 0
ldc "java.naming.corba.orb"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 1
start local 1 2: aload 1
ifnull 4
aload 1
invokestatic com.sun.jmx.remote.internal.IIOPHelper.isOrb:(Ljava/lang/Object;)Z
ifne 4
3: new java.lang.IllegalArgumentException
dup
ldc "java.naming.corba.orb must be an instance of org.omg.CORBA.ORB."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: java.lang.Object
StackMap stack:
aload 1
ifnull 5
aload 1
areturn
end local 1 5: StackMap locals:
StackMap stack:
getstatic javax.management.remote.rmi.RMIConnector.orb:Ljava/lang/ref/WeakReference;
ifnonnull 6
aconst_null
goto 7
StackMap locals:
StackMap stack:
6: getstatic javax.management.remote.rmi.RMIConnector.orb:Ljava/lang/ref/WeakReference;
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
7: StackMap locals:
StackMap stack: java.lang.Object
astore 1
start local 1 8: aload 1
ifnull 9
aload 1
areturn
9: StackMap locals: java.lang.Object
StackMap stack:
aconst_null
aconst_null
invokestatic com.sun.jmx.remote.internal.IIOPHelper.createOrb:([Ljava/lang/String;Ljava/util/Properties;)Ljava/lang/Object;
10: astore 2
start local 2 11: new java.lang.ref.WeakReference
dup
aload 2
invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
putstatic javax.management.remote.rmi.RMIConnector.orb:Ljava/lang/ref/WeakReference;
12: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 environment Ljava/util/Map<Ljava/lang/String;*>;
2 5 1 orb Ljava/lang/Object;
8 13 1 orb Ljava/lang/Object;
11 13 2 newOrb Ljava/lang/Object;
Exceptions:
throws java.io.IOException
Signature: (Ljava/util/Map<Ljava/lang/String;*>;)Ljava/lang/Object;
MethodParameters:
Name Flags
environment
private void readObject(java.io.ObjectInputStream);
descriptor: (Ljava/io/ObjectInputStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.io.ObjectInputStream.defaultReadObject:()V
1: aload 0
getfield javax.management.remote.rmi.RMIConnector.rmiServer:Ljavax/management/remote/rmi/RMIServer;
ifnonnull 4
aload 0
getfield javax.management.remote.rmi.RMIConnector.jmxServiceURL:Ljavax/management/remote/JMXServiceURL;
ifnonnull 4
2: new java.io.InvalidObjectException
dup
ldc "rmiServer and jmxServiceURL both null"
3: invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual javax.management.remote.rmi.RMIConnector.initTransients:()V
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljavax/management/remote/rmi/RMIConnector;
0 6 1 s Ljava/io/ObjectInputStream;
Exceptions:
throws java.io.IOException, java.lang.ClassNotFoundException
MethodParameters:
Name Flags
s
private void writeObject(java.io.ObjectOutputStream);
descriptor: (Ljava/io/ObjectOutputStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield javax.management.remote.rmi.RMIConnector.rmiServer:Ljavax/management/remote/rmi/RMIServer;
ifnonnull 3
aload 0
getfield javax.management.remote.rmi.RMIConnector.jmxServiceURL:Ljavax/management/remote/JMXServiceURL;
ifnonnull 3
1: new java.io.InvalidObjectException
dup
ldc "rmiServer and jmxServiceURL both null."
2: invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
getfield javax.management.remote.rmi.RMIConnector.rmiServer:Ljavax/management/remote/rmi/RMIServer;
aload 0
getfield javax.management.remote.rmi.RMIConnector.env:Ljava/util/Map;
invokestatic javax.management.remote.rmi.RMIConnector.connectStub:(Ljavax/management/remote/rmi/RMIServer;Ljava/util/Map;)Ljavax/management/remote/rmi/RMIServer;
pop
4: aload 1
invokevirtual java.io.ObjectOutputStream.defaultWriteObject:()V
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljavax/management/remote/rmi/RMIConnector;
0 6 1 s Ljava/io/ObjectOutputStream;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
s
private void initTransients();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
new java.util.WeakHashMap
dup
invokespecial java.util.WeakHashMap.<init>:()V
putfield javax.management.remote.rmi.RMIConnector.rmbscMap:Ljava/util/WeakHashMap;
1: aload 0
iconst_0
putfield javax.management.remote.rmi.RMIConnector.connected:Z
2: aload 0
iconst_0
putfield javax.management.remote.rmi.RMIConnector.terminated:Z
3: aload 0
new javax.management.NotificationBroadcasterSupport
dup
invokespecial javax.management.NotificationBroadcasterSupport.<init>:()V
putfield javax.management.remote.rmi.RMIConnector.connectionBroadcaster:Ljavax/management/NotificationBroadcasterSupport;
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljavax/management/remote/rmi/RMIConnector;
private static void checkStub(java.rmi.Remote, java.lang.Class<?>);
descriptor: (Ljava/rmi/Remote;Ljava/lang/Class;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aload 1
if_acmpeq 14
1: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic java.lang.reflect.Proxy.isProxyClass:(Ljava/lang/Class;)Z
ifne 5
2: new java.lang.SecurityException
dup
3: new java.lang.StringBuilder
dup
ldc "Expecting a "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " stub!"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
invokestatic java.lang.reflect.Proxy.getInvocationHandler:(Ljava/lang/Object;)Ljava/lang/reflect/InvocationHandler;
astore 2
start local 2 6: aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
ldc Ljava/rmi/server/RemoteObjectInvocationHandler;
if_acmpeq 13
7: new java.lang.SecurityException
dup
8: new java.lang.StringBuilder
dup
ldc "Expecting a dynamic proxy instance with a "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
9: ldc Ljava/rmi/server/RemoteObjectInvocationHandler;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
10: ldc " invocation handler!"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
11: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
12: invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals: java.lang.reflect.InvocationHandler
StackMap stack:
aload 2
checkcast java.rmi.Remote
astore 0
end local 2 14: StackMap locals:
StackMap stack:
aload 0
checkcast java.rmi.server.RemoteObject
invokevirtual java.rmi.server.RemoteObject.getRef:()Ljava/rmi/server/RemoteRef;
astore 2
start local 2 15: aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
ldc Lsun/rmi/server/UnicastRef2;
if_acmpeq 21
16: new java.lang.SecurityException
dup
17: new java.lang.StringBuilder
dup
ldc "Expecting a "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc Lsun/rmi/server/UnicastRef2;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
18: ldc " remote reference in stub!"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
19: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
20: invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
athrow
21: StackMap locals: java.rmi.server.RemoteRef
StackMap stack:
aload 2
checkcast sun.rmi.server.UnicastRef2
invokevirtual sun.rmi.server.UnicastRef2.getLiveRef:()Lsun/rmi/transport/LiveRef;
astore 3
start local 3 22: aload 3
invokevirtual sun.rmi.transport.LiveRef.getClientSocketFactory:()Ljava/rmi/server/RMIClientSocketFactory;
astore 4
start local 4 23: aload 4
ifnull 24
aload 4
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
ldc Ljavax/rmi/ssl/SslRMIClientSocketFactory;
if_acmpeq 29
24: StackMap locals: sun.rmi.transport.LiveRef java.rmi.server.RMIClientSocketFactory
StackMap stack:
new java.lang.SecurityException
dup
25: new java.lang.StringBuilder
dup
ldc "Expecting a "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc Ljavax/rmi/ssl/SslRMIClientSocketFactory;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
26: ldc " RMI client socket factory in stub!"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
27: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
28: invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
athrow
29: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 stub Ljava/rmi/Remote;
0 30 1 stubClass Ljava/lang/Class<*>;
6 14 2 handler Ljava/lang/reflect/InvocationHandler;
15 30 2 ref Ljava/rmi/server/RemoteRef;
22 30 3 liveRef Lsun/rmi/transport/LiveRef;
23 30 4 csf Ljava/rmi/server/RMIClientSocketFactory;
Signature: (Ljava/rmi/Remote;Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
stub
stubClass
private javax.management.remote.rmi.RMIServer findRMIServer(javax.management.remote.JMXServiceURL, java.util.Map<java.lang.String, java.lang.Object>);
descriptor: (Ljavax/management/remote/JMXServiceURL;Ljava/util/Map;)Ljavax/management/remote/rmi/RMIServer;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 1
iconst_1
invokestatic javax.management.remote.rmi.RMIConnectorServer.isIiopURL:(Ljavax/management/remote/JMXServiceURL;Z)Z
istore 3
start local 3 1: iload 3
ifeq 3
2: aload 2
ldc "java.naming.corba.orb"
aload 2
invokestatic javax.management.remote.rmi.RMIConnector.resolveOrb:(Ljava/util/Map;)Ljava/lang/Object;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: StackMap locals: int
StackMap stack:
aload 1
invokevirtual javax.management.remote.JMXServiceURL.getURLPath:()Ljava/lang/String;
astore 4
start local 4 4: aload 4
bipush 59
invokevirtual java.lang.String.indexOf:(I)I
istore 5
start local 5 5: iload 5
ifge 6
aload 4
invokevirtual java.lang.String.length:()I
istore 5
6: StackMap locals: java.lang.String int
StackMap stack:
aload 4
ldc "/jndi/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 8
7: aload 0
aload 4
bipush 6
iload 5
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
aload 2
iload 3
invokevirtual javax.management.remote.rmi.RMIConnector.findRMIServerJNDI:(Ljava/lang/String;Ljava/util/Map;Z)Ljavax/management/remote/rmi/RMIServer;
areturn
8: StackMap locals:
StackMap stack:
aload 4
ldc "/stub/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 10
9: aload 0
aload 4
bipush 6
iload 5
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
aload 2
iload 3
invokevirtual javax.management.remote.rmi.RMIConnector.findRMIServerJRMP:(Ljava/lang/String;Ljava/util/Map;Z)Ljavax/management/remote/rmi/RMIServer;
areturn
10: StackMap locals:
StackMap stack:
aload 4
ldc "/ior/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 14
11: invokestatic com.sun.jmx.remote.internal.IIOPHelper.isAvailable:()Z
ifne 13
12: new java.io.IOException
dup
ldc "iiop protocol not available"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals:
StackMap stack:
aload 0
aload 4
iconst_5
iload 5
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
aload 2
iload 3
invokevirtual javax.management.remote.rmi.RMIConnector.findRMIServerIIOP:(Ljava/lang/String;Ljava/util/Map;Z)Ljavax/management/remote/rmi/RMIServer;
areturn
14: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "URL path must begin with /jndi/ or /stub/ or /ior/: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
15: aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
16: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 6
start local 6 17: new java.net.MalformedURLException
dup
aload 6
invokespecial java.net.MalformedURLException.<init>:(Ljava/lang/String;)V
athrow
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 18 0 this Ljavax/management/remote/rmi/RMIConnector;
0 18 1 directoryURL Ljavax/management/remote/JMXServiceURL;
0 18 2 environment Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
1 18 3 isIiop Z
4 18 4 path Ljava/lang/String;
5 18 5 end I
17 18 6 msg Ljava/lang/String;
Exceptions:
throws javax.naming.NamingException, java.io.IOException
Signature: (Ljavax/management/remote/JMXServiceURL;Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;)Ljavax/management/remote/rmi/RMIServer;
MethodParameters:
Name Flags
directoryURL
environment
private javax.management.remote.rmi.RMIServer findRMIServerJNDI(java.lang.String, java.util.Map<java.lang.String, ?>, boolean);
descriptor: (Ljava/lang/String;Ljava/util/Map;Z)Ljavax/management/remote/rmi/RMIServer;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new javax.naming.InitialContext
dup
aload 2
invokestatic com.sun.jmx.remote.util.EnvHelp.mapToHashtable:(Ljava/util/Map;)Ljava/util/Hashtable;
invokespecial javax.naming.InitialContext.<init>:(Ljava/util/Hashtable;)V
astore 4
start local 4 1: aload 4
aload 1
invokevirtual javax.naming.InitialContext.lookup:(Ljava/lang/String;)Ljava/lang/Object;
astore 5
start local 5 2: aload 4
invokevirtual javax.naming.InitialContext.close:()V
3: iload 3
ifeq 5
4: aload 5
invokestatic javax.management.remote.rmi.RMIConnector.narrowIIOPServer:(Ljava/lang/Object;)Ljavax/management/remote/rmi/RMIServer;
areturn
5: StackMap locals: javax.naming.InitialContext java.lang.Object
StackMap stack:
aload 5
invokestatic javax.management.remote.rmi.RMIConnector.narrowJRMPServer:(Ljava/lang/Object;)Ljavax/management/remote/rmi/RMIServer;
areturn
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/remote/rmi/RMIConnector;
0 6 1 jndiURL Ljava/lang/String;
0 6 2 env Ljava/util/Map<Ljava/lang/String;*>;
0 6 3 isIiop Z
1 6 4 ctx Ljavax/naming/InitialContext;
2 6 5 objref Ljava/lang/Object;
Exceptions:
throws javax.naming.NamingException
Signature: (Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;*>;Z)Ljavax/management/remote/rmi/RMIServer;
MethodParameters:
Name Flags
jndiURL
env
isIiop
private static javax.management.remote.rmi.RMIServer narrowJRMPServer(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljavax/management/remote/rmi/RMIServer;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
checkcast javax.management.remote.rmi.RMIServer
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 objref Ljava/lang/Object;
MethodParameters:
Name Flags
objref
private static javax.management.remote.rmi.RMIServer narrowIIOPServer(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljavax/management/remote/rmi/RMIServer;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
ldc Ljavax/management/remote/rmi/RMIServer;
invokestatic com.sun.jmx.remote.internal.IIOPHelper.narrow:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
checkcast javax.management.remote.rmi.RMIServer
1: areturn
2: StackMap locals:
StackMap stack: java.lang.ClassCastException
astore 1
start local 1 3: getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
invokevirtual com.sun.jmx.remote.util.ClassLogger.traceOn:()Z
ifeq 7
4: getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "narrowIIOPServer"
new java.lang.StringBuilder
dup
ldc "Failed to narrow objref="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
5: aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
6: invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
7: StackMap locals: java.lang.ClassCastException
StackMap stack:
getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
invokevirtual com.sun.jmx.remote.util.ClassLogger.debugOn:()Z
ifeq 8
getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "narrowIIOPServer"
aload 1
invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
8: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 objref Ljava/lang/Object;
3 9 1 e Ljava/lang/ClassCastException;
Exception table:
from to target type
0 1 2 Class java.lang.ClassCastException
MethodParameters:
Name Flags
objref
private javax.management.remote.rmi.RMIServer findRMIServerIIOP(java.lang.String, java.util.Map<java.lang.String, ?>, boolean);
descriptor: (Ljava/lang/String;Ljava/util/Map;Z)Ljavax/management/remote/rmi/RMIServer;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
ldc "java.naming.corba.orb"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 4
start local 4 1: aload 4
aload 1
invokestatic com.sun.jmx.remote.internal.IIOPHelper.stringToObject:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
astore 5
start local 5 2: aload 5
ldc Ljavax/management/remote/rmi/RMIServer;
invokestatic com.sun.jmx.remote.internal.IIOPHelper.narrow:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
checkcast javax.management.remote.rmi.RMIServer
areturn
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 3 0 this Ljavax/management/remote/rmi/RMIConnector;
0 3 1 ior Ljava/lang/String;
0 3 2 env Ljava/util/Map<Ljava/lang/String;*>;
0 3 3 isIiop Z
1 3 4 orb Ljava/lang/Object;
2 3 5 stub Ljava/lang/Object;
Signature: (Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;*>;Z)Ljavax/management/remote/rmi/RMIServer;
MethodParameters:
Name Flags
ior
env
isIiop
private javax.management.remote.rmi.RMIServer findRMIServerJRMP(java.lang.String, java.util.Map<java.lang.String, ?>, boolean);
descriptor: (Ljava/lang/String;Ljava/util/Map;Z)Ljavax/management/remote/rmi/RMIServer;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokestatic javax.management.remote.rmi.RMIConnector.base64ToByteArray:(Ljava/lang/String;)[B
astore 4
start local 4 1: goto 6
end local 4 StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
2: astore 5
start local 5 3: new java.net.MalformedURLException
dup
new java.lang.StringBuilder
dup
ldc "Bad BASE64 encoding: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
4: aload 5
invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: invokespecial java.net.MalformedURLException.<init>:(Ljava/lang/String;)V
athrow
end local 5 start local 4 6: StackMap locals: byte[]
StackMap stack:
new java.io.ByteArrayInputStream
dup
aload 4
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
astore 5
start local 5 7: aload 2
invokestatic com.sun.jmx.remote.util.EnvHelp.resolveClientClassLoader:(Ljava/util/Map;)Ljava/lang/ClassLoader;
astore 6
start local 6 8: aload 6
ifnonnull 10
9: new java.io.ObjectInputStream
dup
aload 5
invokespecial java.io.ObjectInputStream.<init>:(Ljava/io/InputStream;)V
goto 11
10: StackMap locals: java.io.ByteArrayInputStream java.lang.ClassLoader
StackMap stack:
new javax.management.remote.rmi.RMIConnector$ObjectInputStreamWithLoader
dup
aload 5
aload 6
invokespecial javax.management.remote.rmi.RMIConnector$ObjectInputStreamWithLoader.<init>:(Ljava/io/InputStream;Ljava/lang/ClassLoader;)V
11: StackMap locals:
StackMap stack: java.io.ObjectInputStream
astore 7
start local 7 12: aload 7
invokevirtual java.io.ObjectInputStream.readObject:()Ljava/lang/Object;
astore 8
start local 8 13: goto 16
end local 8 StackMap locals: javax.management.remote.rmi.RMIConnector java.lang.String java.util.Map int byte[] java.io.ByteArrayInputStream java.lang.ClassLoader java.io.ObjectInputStream
StackMap stack: java.lang.ClassNotFoundException
14: astore 9
start local 9 15: new java.net.MalformedURLException
dup
new java.lang.StringBuilder
dup
ldc "Class not found: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.net.MalformedURLException.<init>:(Ljava/lang/String;)V
athrow
end local 9 start local 8 16: StackMap locals: java.lang.Object
StackMap stack:
aload 8
checkcast javax.management.remote.rmi.RMIServer
areturn
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 17 0 this Ljavax/management/remote/rmi/RMIConnector;
0 17 1 base64 Ljava/lang/String;
0 17 2 env Ljava/util/Map<Ljava/lang/String;*>;
0 17 3 isIiop Z
1 2 4 serialized [B
6 17 4 serialized [B
3 6 5 e Ljava/lang/IllegalArgumentException;
7 17 5 bin Ljava/io/ByteArrayInputStream;
8 17 6 loader Ljava/lang/ClassLoader;
12 17 7 oin Ljava/io/ObjectInputStream;
13 14 8 stub Ljava/lang/Object;
16 17 8 stub Ljava/lang/Object;
15 16 9 e Ljava/lang/ClassNotFoundException;
Exception table:
from to target type
0 1 2 Class java.lang.IllegalArgumentException
12 13 14 Class java.lang.ClassNotFoundException
Exceptions:
throws java.io.IOException
Signature: (Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;*>;Z)Ljavax/management/remote/rmi/RMIServer;
MethodParameters:
Name Flags
base64
env
isIiop
private javax.management.MBeanServerConnection getConnectionWithSubject(javax.security.auth.Subject);
descriptor: (Ljavax/security/auth/Subject;)Ljavax/management/MBeanServerConnection;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 1
ifnonnull 7
2: aload 0
getfield javax.management.remote.rmi.RMIConnector.nullSubjectConnRef:Ljava/lang/ref/WeakReference;
ifnull 4
3: aload 0
getfield javax.management.remote.rmi.RMIConnector.nullSubjectConnRef:Ljava/lang/ref/WeakReference;
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
checkcast javax.management.MBeanServerConnection
dup
astore 2
ifnonnull 11
4: StackMap locals: javax.management.MBeanServerConnection
StackMap stack:
new javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection
dup
aload 0
aconst_null
invokespecial javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection.<init>:(Ljavax/management/remote/rmi/RMIConnector;Ljavax/security/auth/Subject;)V
astore 2
5: aload 0
new java.lang.ref.WeakReference
dup
aload 2
invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
putfield javax.management.remote.rmi.RMIConnector.nullSubjectConnRef:Ljava/lang/ref/WeakReference;
6: goto 11
7: StackMap locals:
StackMap stack:
aload 0
getfield javax.management.remote.rmi.RMIConnector.rmbscMap:Ljava/util/WeakHashMap;
aload 1
invokevirtual java.util.WeakHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.ref.WeakReference
astore 3
start local 3 8: aload 3
ifnull 9
aload 3
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
checkcast javax.management.MBeanServerConnection
dup
astore 2
ifnonnull 11
9: StackMap locals: java.lang.ref.WeakReference
StackMap stack:
new javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection
dup
aload 0
aload 1
invokespecial javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection.<init>:(Ljavax/management/remote/rmi/RMIConnector;Ljavax/security/auth/Subject;)V
astore 2
10: aload 0
getfield javax.management.remote.rmi.RMIConnector.rmbscMap:Ljava/util/WeakHashMap;
aload 1
new java.lang.ref.WeakReference
dup
aload 2
invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
invokevirtual java.util.WeakHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 3 11: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljavax/management/remote/rmi/RMIConnector;
0 12 1 delegationSubject Ljavax/security/auth/Subject;
1 12 2 conn Ljavax/management/MBeanServerConnection;
8 11 3 wr Ljava/lang/ref/WeakReference<Ljavax/management/MBeanServerConnection;>;
MethodParameters:
Name Flags
delegationSubject
private static javax.management.remote.rmi.RMIConnection shadowJrmpStub(java.rmi.server.RemoteObject);
descriptor: (Ljava/rmi/server/RemoteObject;)Ljavax/management/remote/rmi/RMIConnection;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=6, args_size=1
start local 0 0: aload 0
invokevirtual java.rmi.server.RemoteObject.getRef:()Ljava/rmi/server/RemoteRef;
astore 1
start local 1 1: getstatic javax.management.remote.rmi.RMIConnector.proxyRefConstructor:Ljava/lang/reflect/Constructor;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.rmi.server.RemoteRef
2: astore 2
start local 2 3: getstatic javax.management.remote.rmi.RMIConnector.rmiConnectionImplStubClass:Ljava/lang/Class;
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/rmi/server/RemoteRef;
aastore
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
4: astore 3
start local 3 5: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
astore 4
start local 4 6: aload 3
aload 4
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast javax.management.remote.rmi.RMIConnection
7: astore 5
start local 5 8: aload 5
areturn
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 9 0 stub Ljava/rmi/server/RemoteObject;
1 9 1 ref Ljava/rmi/server/RemoteRef;
3 9 2 proxyRef Ljava/rmi/server/RemoteRef;
5 9 3 rmiConnectionImplStubConstructor Ljava/lang/reflect/Constructor<*>;
6 9 4 args [Ljava/lang/Object;
8 9 5 proxyStub Ljavax/management/remote/rmi/RMIConnection;
Exceptions:
throws java.lang.InstantiationException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException, java.lang.ClassNotFoundException, java.lang.NoSuchMethodException
MethodParameters:
Name Flags
stub
private static javax.management.remote.rmi.RMIConnection shadowIiopStub(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljavax/management/remote/rmi/RMIConnection;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: new javax.management.remote.rmi.RMIConnector$3
dup
invokespecial javax.management.remote.rmi.RMIConnector$3.<init>:()V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
astore 1
2: goto 5
StackMap locals: java.lang.Object java.lang.Object
StackMap stack: java.security.PrivilegedActionException
3: pop
4: new java.lang.InternalError
dup
invokespecial java.lang.InternalError.<init>:()V
athrow
5: StackMap locals:
StackMap stack:
aload 1
aload 0
invokestatic com.sun.jmx.remote.internal.IIOPHelper.getDelegate:(Ljava/lang/Object;)Ljava/lang/Object;
invokestatic com.sun.jmx.remote.internal.IIOPHelper.setDelegate:(Ljava/lang/Object;Ljava/lang/Object;)V
6: aload 1
checkcast javax.management.remote.rmi.RMIConnection
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 stub Ljava/lang/Object;
1 7 1 proxyStub Ljava/lang/Object;
Exception table:
from to target type
1 2 3 Class java.security.PrivilegedActionException
Exceptions:
throws java.lang.InstantiationException, java.lang.IllegalAccessException
MethodParameters:
Name Flags
stub
private static javax.management.remote.rmi.RMIConnection getConnection(javax.management.remote.rmi.RMIServer, java.lang.Object, boolean);
descriptor: (Ljavax/management/remote/rmi/RMIServer;Ljava/lang/Object;Z)Ljavax/management/remote/rmi/RMIConnection;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokeinterface javax.management.remote.rmi.RMIServer.newClient:(Ljava/lang/Object;)Ljavax/management/remote/rmi/RMIConnection;
astore 3
start local 3 1: iload 2
ifeq 2
aload 3
getstatic javax.management.remote.rmi.RMIConnector.rmiConnectionImplStubClass:Ljava/lang/Class;
invokestatic javax.management.remote.rmi.RMIConnector.checkStub:(Ljava/rmi/Remote;Ljava/lang/Class;)V
2: StackMap locals: javax.management.remote.rmi.RMIConnection
StackMap stack:
aload 3
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
getstatic javax.management.remote.rmi.RMIConnector.rmiConnectionImplStubClass:Ljava/lang/Class;
if_acmpne 5
3: aload 3
checkcast java.rmi.server.RemoteObject
invokestatic javax.management.remote.rmi.RMIConnector.shadowJrmpStub:(Ljava/rmi/server/RemoteObject;)Ljavax/management/remote/rmi/RMIConnection;
4: areturn
5: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
ldc "org.omg.stub.javax.management.remote.rmi._RMIConnection_Stub"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 8
6: aload 3
invokestatic javax.management.remote.rmi.RMIConnector.shadowIiopStub:(Ljava/lang/Object;)Ljavax/management/remote/rmi/RMIConnection;
7: areturn
8: StackMap locals:
StackMap stack:
getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "getConnection"
9: new java.lang.StringBuilder
dup
ldc "Did not wrap "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " to foil "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
10: ldc "stack search for classes: class loading semantics "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
11: ldc "may be incorrect"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
12: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
13: invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
14: goto 23
StackMap locals:
StackMap stack: java.lang.Exception
15: astore 4
start local 4 16: getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "getConnection"
17: new java.lang.StringBuilder
dup
ldc "Could not wrap "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " to foil "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
18: ldc "stack search for classes: class loading semantics "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
19: ldc "may be incorrect: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
20: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
21: invokevirtual com.sun.jmx.remote.util.ClassLogger.error:(Ljava/lang/String;Ljava/lang/String;)V
22: getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "getConnection"
aload 4
invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 4 23: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 server Ljavax/management/remote/rmi/RMIServer;
0 24 1 credentials Ljava/lang/Object;
0 24 2 checkStub Z
1 24 3 c Ljavax/management/remote/rmi/RMIConnection;
16 23 4 e Ljava/lang/Exception;
Exception table:
from to target type
2 4 15 Class java.lang.Exception
5 7 15 Class java.lang.Exception
8 14 15 Class java.lang.Exception
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
server
credentials
checkStub
private static byte[] base64ToByteArray(java.lang.String);
descriptor: (Ljava/lang/String;)[B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=13, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.String.length:()I
istore 1
start local 1 1: iload 1
iconst_4
idiv
istore 2
start local 2 2: iconst_4
iload 2
imul
iload 1
if_icmpeq 6
3: new java.lang.IllegalArgumentException
dup
4: ldc "String length must be a multiple of four."
5: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals: int int
StackMap stack:
iconst_0
istore 3
start local 3 7: iload 2
istore 4
start local 4 8: iload 1
ifeq 14
9: aload 0
iload 1
iconst_1
isub
invokevirtual java.lang.String.charAt:(I)C
bipush 61
if_icmpne 12
10: iinc 3 1
11: iinc 4 -1
12: StackMap locals: int int
StackMap stack:
aload 0
iload 1
iconst_2
isub
invokevirtual java.lang.String.charAt:(I)C
bipush 61
if_icmpne 14
13: iinc 3 1
14: StackMap locals:
StackMap stack:
iconst_3
iload 2
imul
iload 3
isub
newarray 8
astore 5
start local 5 15: iconst_0
istore 6
start local 6 16: iconst_0
istore 7
start local 7 17: iconst_0
istore 8
start local 8 18: goto 27
19: StackMap locals: java.lang.String int int int int byte[] int int int
StackMap stack:
aload 0
iload 6
iinc 6 1
invokevirtual java.lang.String.charAt:(I)C
invokestatic javax.management.remote.rmi.RMIConnector.base64toInt:(C)I
istore 9
start local 9 20: aload 0
iload 6
iinc 6 1
invokevirtual java.lang.String.charAt:(I)C
invokestatic javax.management.remote.rmi.RMIConnector.base64toInt:(C)I
istore 10
start local 10 21: aload 0
iload 6
iinc 6 1
invokevirtual java.lang.String.charAt:(I)C
invokestatic javax.management.remote.rmi.RMIConnector.base64toInt:(C)I
istore 11
start local 11 22: aload 0
iload 6
iinc 6 1
invokevirtual java.lang.String.charAt:(I)C
invokestatic javax.management.remote.rmi.RMIConnector.base64toInt:(C)I
istore 12
start local 12 23: aload 5
iload 7
iinc 7 1
iload 9
iconst_2
ishl
iload 10
iconst_4
ishr
ior
i2b
bastore
24: aload 5
iload 7
iinc 7 1
iload 10
iconst_4
ishl
iload 11
iconst_2
ishr
ior
i2b
bastore
25: aload 5
iload 7
iinc 7 1
iload 11
bipush 6
ishl
iload 12
ior
i2b
bastore
end local 12 end local 11 end local 10 end local 9 26: iinc 8 1
StackMap locals:
StackMap stack:
27: iload 8
iload 4
if_icmplt 19
end local 8 28: iload 3
ifeq 35
29: aload 0
iload 6
iinc 6 1
invokevirtual java.lang.String.charAt:(I)C
invokestatic javax.management.remote.rmi.RMIConnector.base64toInt:(C)I
istore 8
start local 8 30: aload 0
iload 6
iinc 6 1
invokevirtual java.lang.String.charAt:(I)C
invokestatic javax.management.remote.rmi.RMIConnector.base64toInt:(C)I
istore 9
start local 9 31: aload 5
iload 7
iinc 7 1
iload 8
iconst_2
ishl
iload 9
iconst_4
ishr
ior
i2b
bastore
32: iload 3
iconst_1
if_icmpne 35
33: aload 0
iload 6
iinc 6 1
invokevirtual java.lang.String.charAt:(I)C
invokestatic javax.management.remote.rmi.RMIConnector.base64toInt:(C)I
istore 10
start local 10 34: aload 5
iload 7
iinc 7 1
iload 9
iconst_4
ishl
iload 10
iconst_2
ishr
ior
i2b
bastore
end local 10 end local 9 end local 8 35: StackMap locals:
StackMap stack:
aload 5
areturn
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 36 0 s Ljava/lang/String;
1 36 1 sLen I
2 36 2 numGroups I
7 36 3 missingBytesInLastGroup I
8 36 4 numFullGroups I
15 36 5 result [B
16 36 6 inCursor I
17 36 7 outCursor I
18 28 8 i I
20 26 9 ch0 I
21 26 10 ch1 I
22 26 11 ch2 I
23 26 12 ch3 I
30 35 8 ch0 I
31 35 9 ch1 I
34 35 10 ch2 I
MethodParameters:
Name Flags
s
private static int base64toInt(char);
descriptor: (C)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: iload 0
getstatic javax.management.remote.rmi.RMIConnector.base64ToInt:[B
arraylength
if_icmplt 3
1: iconst_m1
istore 1
start local 1 2: goto 4
end local 1 3: StackMap locals:
StackMap stack:
getstatic javax.management.remote.rmi.RMIConnector.base64ToInt:[B
iload 0
baload
istore 1
start local 1 4: StackMap locals: int
StackMap stack:
iload 1
ifge 6
5: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Illegal character "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 0
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 c C
2 3 1 result I
4 7 1 result I
MethodParameters:
Name Flags
c
private java.lang.ClassLoader pushDefaultClassLoader();
descriptor: ()Ljava/lang/ClassLoader;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=1
start local 0 0: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
astore 1
start local 1 1: aload 1
invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
astore 2
start local 2 2: aload 0
getfield javax.management.remote.rmi.RMIConnector.defaultClassLoader:Ljava/lang/ClassLoader;
ifnull 4
3: new javax.management.remote.rmi.RMIConnector$4
dup
aload 0
aload 1
invokespecial javax.management.remote.rmi.RMIConnector$4.<init>:(Ljavax/management/remote/rmi/RMIConnector;Ljava/lang/Thread;)V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
4: StackMap locals: java.lang.Thread java.lang.ClassLoader
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljavax/management/remote/rmi/RMIConnector;
1 5 1 t Ljava/lang/Thread;
2 5 2 old Ljava/lang/ClassLoader;
private void popDefaultClassLoader(java.lang.ClassLoader);
descriptor: (Ljava/lang/ClassLoader;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new javax.management.remote.rmi.RMIConnector$5
dup
aload 0
aload 1
invokespecial javax.management.remote.rmi.RMIConnector$5.<init>:(Ljavax/management/remote/rmi/RMIConnector;Ljava/lang/ClassLoader;)V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljavax/management/remote/rmi/RMIConnector;
0 2 1 old Ljava/lang/ClassLoader;
MethodParameters:
Name Flags
old final
private static java.lang.String objects(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: ldc "null"
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 objs [Ljava/lang/Object;
MethodParameters:
Name Flags
objs final
private static java.lang.String strings(java.lang.String[]);
descriptor: ([Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic javax.management.remote.rmi.RMIConnector.objects:([Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 strs [Ljava/lang/String;
MethodParameters:
Name Flags
strs final
static java.lang.String getAttributesNames(javax.management.AttributeList);
descriptor: (Ljavax/management/AttributeList;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
ifnull 4
1: aload 0
invokevirtual javax.management.AttributeList.asList:()Ljava/util/List;
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
2: invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
javax/management/Attribute.getName()Ljava/lang/String; (5)
(Ljavax/management/Attribute;)Ljava/lang/String;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
3: ldc ", "
ldc "["
ldc "]"
invokestatic java.util.stream.Collectors.joining:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.lang.String
goto 5
4: StackMap locals:
StackMap stack:
ldc "[]"
5: StackMap locals:
StackMap stack: java.lang.String
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 attributes Ljavax/management/AttributeList;
MethodParameters:
Name Flags
attributes
}
SourceFile: "RMIConnector.java"
NestMembers:
javax.management.remote.rmi.RMIConnector$1 javax.management.remote.rmi.RMIConnector$2 javax.management.remote.rmi.RMIConnector$3 javax.management.remote.rmi.RMIConnector$4 javax.management.remote.rmi.RMIConnector$5 javax.management.remote.rmi.RMIConnector$ObjectInputStreamWithLoader javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin javax.management.remote.rmi.RMIConnector$RMINotifClient javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
javax.management.remote.rmi.RMIConnector$1
javax.management.remote.rmi.RMIConnector$2
javax.management.remote.rmi.RMIConnector$3
javax.management.remote.rmi.RMIConnector$4
javax.management.remote.rmi.RMIConnector$5
private final ObjectInputStreamWithLoader = javax.management.remote.rmi.RMIConnector$ObjectInputStreamWithLoader of javax.management.remote.rmi.RMIConnector
private RMIClientCommunicatorAdmin = javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin of javax.management.remote.rmi.RMIConnector
private RMINotifClient = javax.management.remote.rmi.RMIConnector$RMINotifClient of javax.management.remote.rmi.RMIConnector
private RemoteMBeanServerConnection = javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection of javax.management.remote.rmi.RMIConnector