public class javax.management.remote.JMXConnectorFactory
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: javax.management.remote.JMXConnectorFactory
super_class: java.lang.Object
{
public static final java.lang.String DEFAULT_CLASS_LOADER;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "jmx.remote.default.class.loader"
public static final java.lang.String PROTOCOL_PROVIDER_PACKAGES;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "jmx.remote.protocol.provider.pkgs"
public static final java.lang.String PROTOCOL_PROVIDER_CLASS_LOADER;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "jmx.remote.protocol.provider.class.loader"
private static final java.lang.String PROTOCOL_PROVIDER_DEFAULT_PACKAGE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "com.sun.jmx.remote.protocol"
private static final com.sun.jmx.remote.util.ClassLogger logger;
descriptor: Lcom/sun/jmx/remote/util/ClassLogger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: new com.sun.jmx.remote.util.ClassLogger
dup
ldc "javax.management.remote.misc"
ldc "JMXConnectorFactory"
invokespecial com.sun.jmx.remote.util.ClassLogger.<init>:(Ljava/lang/String;Ljava/lang/String;)V
1: putstatic javax.management.remote.JMXConnectorFactory.logger:Lcom/sun/jmx/remote/util/ClassLogger;
2: return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljavax/management/remote/JMXConnectorFactory;
public static javax.management.remote.JMXConnector connect(javax.management.remote.JMXServiceURL);
descriptor: (Ljavax/management/remote/JMXServiceURL;)Ljavax/management/remote/JMXConnector;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
invokestatic javax.management.remote.JMXConnectorFactory.connect:(Ljavax/management/remote/JMXServiceURL;Ljava/util/Map;)Ljavax/management/remote/JMXConnector;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 serviceURL Ljavax/management/remote/JMXServiceURL;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
serviceURL
public static javax.management.remote.JMXConnector connect(javax.management.remote.JMXServiceURL, java.util.Map<java.lang.String, ?>);
descriptor: (Ljavax/management/remote/JMXServiceURL;Ljava/util/Map;)Ljavax/management/remote/JMXConnector;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
ifnonnull 2
1: new java.lang.NullPointerException
dup
ldc "Null JMXServiceURL"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic javax.management.remote.JMXConnectorFactory.newJMXConnector:(Ljavax/management/remote/JMXServiceURL;Ljava/util/Map;)Ljavax/management/remote/JMXConnector;
astore 2
start local 2 3: aload 2
aload 1
invokeinterface javax.management.remote.JMXConnector.connect:(Ljava/util/Map;)V
4: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 serviceURL Ljavax/management/remote/JMXServiceURL;
0 5 1 environment Ljava/util/Map<Ljava/lang/String;*>;
3 5 2 conn Ljavax/management/remote/JMXConnector;
Exceptions:
throws java.io.IOException
Signature: (Ljavax/management/remote/JMXServiceURL;Ljava/util/Map<Ljava/lang/String;*>;)Ljavax/management/remote/JMXConnector;
MethodParameters:
Name Flags
serviceURL
environment
public static javax.management.remote.JMXConnector newJMXConnector(javax.management.remote.JMXServiceURL, java.util.Map<java.lang.String, ?>);
descriptor: (Ljavax/management/remote/JMXServiceURL;Ljava/util/Map;)Ljavax/management/remote/JMXConnector;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 3
1: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 2
start local 2 2: goto 5
end local 2 3: StackMap locals:
StackMap stack:
aload 1
invokestatic com.sun.jmx.remote.util.EnvHelp.checkAttributes:(Ljava/util/Map;)V
4: new java.util.HashMap
dup
aload 1
invokespecial java.util.HashMap.<init>:(Ljava/util/Map;)V
astore 2
start local 2 5: StackMap locals: java.util.Map
StackMap stack:
aload 2
invokestatic javax.management.remote.JMXConnectorFactory.resolveClassLoader:(Ljava/util/Map;)Ljava/lang/ClassLoader;
astore 3
start local 3 6: ldc Ljavax/management/remote/JMXConnectorProvider;
astore 4
start local 4 7: aload 0
invokevirtual javax.management.remote.JMXServiceURL.getProtocol:()Ljava/lang/String;
astore 5
start local 5 8: aload 0
aload 2
ldc "ClientProvider"
9: aload 4
aload 3
10: invokestatic javax.management.remote.JMXConnectorFactory.getProvider:(Ljavax/management/remote/JMXServiceURL;Ljava/util/Map;Ljava/lang/String;Ljava/lang/Class;Ljava/lang/ClassLoader;)Ljava/lang/Object;
checkcast javax.management.remote.JMXConnectorProvider
11: astore 6
start local 6 12: aconst_null
astore 7
start local 7 13: aload 6
ifnonnull 29
14: aload 3
ifnull 24
15: aload 3
aload 0
aload 2
invokestatic javax.management.remote.JMXConnectorFactory.getConnectorAsService:(Ljava/lang/ClassLoader;Ljavax/management/remote/JMXServiceURL;Ljava/util/Map;)Ljavax/management/remote/JMXConnector;
16: astore 8
start local 8 17: aload 8
ifnull 24
18: aload 8
19: areturn
end local 8 20: StackMap locals: javax.management.remote.JMXServiceURL java.util.Map java.util.Map java.lang.ClassLoader java.lang.Class java.lang.String javax.management.remote.JMXConnectorProvider java.io.IOException
StackMap stack: javax.management.remote.JMXProviderException
astore 8
start local 8 21: aload 8
athrow
end local 8 22: StackMap locals:
StackMap stack: java.io.IOException
astore 8
start local 8 23: aload 8
astore 7
end local 8 24: StackMap locals:
StackMap stack:
aload 5
ldc "com.sun.jmx.remote.protocol"
25: ldc Ljavax/management/remote/JMXConnectorFactory;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
26: ldc "ClientProvider"
aload 4
27: invokestatic javax.management.remote.JMXConnectorFactory.getProvider:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
checkcast javax.management.remote.JMXConnectorProvider
28: astore 6
29: StackMap locals:
StackMap stack:
aload 6
ifnonnull 35
30: new java.net.MalformedURLException
dup
new java.lang.StringBuilder
dup
ldc "Unsupported protocol: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.net.MalformedURLException.<init>:(Ljava/lang/String;)V
31: astore 8
start local 8 32: aload 7
ifnonnull 34
33: aload 8
athrow
34: StackMap locals: java.net.MalformedURLException
StackMap stack:
aload 8
aload 7
invokestatic com.sun.jmx.remote.util.EnvHelp.initCause:(Ljava/lang/Throwable;Ljava/lang/Throwable;)Ljava/lang/Throwable;
checkcast java.net.MalformedURLException
athrow
end local 8 35: StackMap locals:
StackMap stack:
aload 2
invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
astore 2
36: aload 6
aload 0
aload 2
invokeinterface javax.management.remote.JMXConnectorProvider.newJMXConnector:(Ljavax/management/remote/JMXServiceURL;Ljava/util/Map;)Ljavax/management/remote/JMXConnector;
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 37 0 serviceURL Ljavax/management/remote/JMXServiceURL;
0 37 1 environment Ljava/util/Map<Ljava/lang/String;*>;
2 3 2 envcopy Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
5 37 2 envcopy Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
6 37 3 loader Ljava/lang/ClassLoader;
7 37 4 targetInterface Ljava/lang/Class<Ljavax/management/remote/JMXConnectorProvider;>;
8 37 5 protocol Ljava/lang/String;
12 37 6 provider Ljavax/management/remote/JMXConnectorProvider;
13 37 7 exception Ljava/io/IOException;
17 20 8 connection Ljavax/management/remote/JMXConnector;
21 22 8 e Ljavax/management/remote/JMXProviderException;
23 24 8 e Ljava/io/IOException;
32 35 8 e Ljava/net/MalformedURLException;
Exception table:
from to target type
15 19 20 Class javax.management.remote.JMXProviderException
15 19 22 Class java.io.IOException
Exceptions:
throws java.io.IOException
Signature: (Ljavax/management/remote/JMXServiceURL;Ljava/util/Map<Ljava/lang/String;*>;)Ljavax/management/remote/JMXConnector;
MethodParameters:
Name Flags
serviceURL
environment
private static java.lang.String resolvePkgs(java.util.Map);
descriptor: (Ljava/util/Map;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aload 0
ifnull 3
2: aload 0
ldc "jmx.remote.protocol.provider.pkgs"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 1
3: StackMap locals: java.lang.Object
StackMap stack:
aload 1
ifnonnull 6
4: new javax.management.remote.JMXConnectorFactory$1
dup
invokespecial javax.management.remote.JMXConnectorFactory$1.<init>:()V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
5: astore 1
6: StackMap locals:
StackMap stack:
aload 1
ifnonnull 8
7: aconst_null
areturn
8: StackMap locals:
StackMap stack:
aload 1
instanceof java.lang.String
ifne 13
9: new java.lang.StringBuilder
dup
ldc "Value of jmx.remote.protocol.provider.pkgs parameter is not a String: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
10: aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
11: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
start local 2 12: new javax.management.remote.JMXProviderException
dup
aload 2
invokespecial javax.management.remote.JMXProviderException.<init>:(Ljava/lang/String;)V
athrow
end local 2 13: StackMap locals:
StackMap stack:
aload 1
checkcast java.lang.String
astore 2
start local 2 14: aload 2
invokevirtual java.lang.String.trim:()Ljava/lang/String;
ldc ""
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 16
15: aconst_null
areturn
16: StackMap locals: java.lang.String
StackMap stack:
aload 2
ldc "|"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 18
aload 2
ldc "|"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 18
17: aload 2
ldc "||"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
iflt 22
18: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "Value of jmx.remote.protocol.provider.pkgs contains an empty element: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
19: aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
20: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
start local 3 21: new javax.management.remote.JMXProviderException
dup
aload 3
invokespecial javax.management.remote.JMXProviderException.<init>:(Ljava/lang/String;)V
athrow
end local 3 22: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 env Ljava/util/Map;
1 23 1 pkgsObject Ljava/lang/Object;
12 13 2 msg Ljava/lang/String;
14 23 2 pkgs Ljava/lang/String;
21 22 3 msg Ljava/lang/String;
Exceptions:
throws javax.management.remote.JMXProviderException
MethodParameters:
Name Flags
env
static <T> T getProvider(javax.management.remote.JMXServiceURL, java.util.Map<java.lang.String, java.lang.Object>, java.lang.String, java.lang.Class<T>, java.lang.ClassLoader);
descriptor: (Ljavax/management/remote/JMXServiceURL;Ljava/util/Map;Ljava/lang/String;Ljava/lang/Class;Ljava/lang/ClassLoader;)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokevirtual javax.management.remote.JMXServiceURL.getProtocol:()Ljava/lang/String;
astore 5
start local 5 1: aload 1
invokestatic javax.management.remote.JMXConnectorFactory.resolvePkgs:(Ljava/util/Map;)Ljava/lang/String;
astore 6
start local 6 2: aconst_null
astore 7
start local 7 3: aload 6
ifnull 15
4: aload 5
aload 6
aload 4
aload 2
5: aload 3
6: invokestatic javax.management.remote.JMXConnectorFactory.getProvider:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
7: astore 7
8: aload 7
ifnull 15
9: aload 4
aload 7
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
if_acmpeq 10
iconst_1
goto 11
StackMap locals: java.lang.String java.lang.String java.lang.Object
StackMap stack:
10: iconst_0
StackMap locals:
StackMap stack: int
11: istore 8
start local 8 12: aload 1
ldc "jmx.remote.protocol.provider.class.loader"
iload 8
ifeq 13
aload 4
invokestatic javax.management.remote.JMXConnectorFactory.wrap:(Ljava/lang/ClassLoader;)Ljava/lang/ClassLoader;
goto 14
StackMap locals: javax.management.remote.JMXServiceURL java.util.Map java.lang.String java.lang.Class java.lang.ClassLoader java.lang.String java.lang.String java.lang.Object int
StackMap stack: java.util.Map java.lang.String
13: aload 4
StackMap locals: javax.management.remote.JMXServiceURL java.util.Map java.lang.String java.lang.Class java.lang.ClassLoader java.lang.String java.lang.String java.lang.Object int
StackMap stack: java.util.Map java.lang.String java.lang.ClassLoader
14: invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 8 15: 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 16 0 serviceURL Ljavax/management/remote/JMXServiceURL;
0 16 1 environment Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
0 16 2 providerClassName Ljava/lang/String;
0 16 3 targetInterface Ljava/lang/Class<TT;>;
0 16 4 loader Ljava/lang/ClassLoader;
1 16 5 protocol Ljava/lang/String;
2 16 6 pkgs Ljava/lang/String;
3 16 7 instance TT;
12 15 8 needsWrap Z
Exceptions:
throws java.io.IOException
Signature: <T:Ljava/lang/Object;>(Ljavax/management/remote/JMXServiceURL;Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;Ljava/lang/String;Ljava/lang/Class<TT;>;Ljava/lang/ClassLoader;)TT;
MethodParameters:
Name Flags
serviceURL
environment final
providerClassName
targetInterface
loader final
static <T> java.util.Iterator<T> getProviderIterator(java.lang.Class<T>, java.lang.ClassLoader);
descriptor: (Ljava/lang/Class;Ljava/lang/ClassLoader;)Ljava/util/Iterator;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
1: aload 1
2: invokestatic java.util.ServiceLoader.load:(Ljava/lang/Class;Ljava/lang/ClassLoader;)Ljava/util/ServiceLoader;
3: astore 2
start local 2 4: aload 2
invokevirtual java.util.ServiceLoader.iterator:()Ljava/util/Iterator;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 providerClass Ljava/lang/Class<TT;>;
0 5 1 loader Ljava/lang/ClassLoader;
4 5 2 serviceLoader Ljava/util/ServiceLoader<TT;>;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;Ljava/lang/ClassLoader;)Ljava/util/Iterator<TT;>;
MethodParameters:
Name Flags
providerClass final
loader final
private static java.lang.ClassLoader wrap(java.lang.ClassLoader);
descriptor: (Ljava/lang/ClassLoader;)Ljava/lang/ClassLoader;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
ifnull 2
new javax.management.remote.JMXConnectorFactory$2
dup
aload 0
invokespecial javax.management.remote.JMXConnectorFactory$2.<init>:(Ljava/lang/ClassLoader;)V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.ClassLoader
1: goto 3
StackMap locals:
StackMap stack:
2: aconst_null
3: StackMap locals:
StackMap stack: java.lang.ClassLoader
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 parent Ljava/lang/ClassLoader;
MethodParameters:
Name Flags
parent final
private static javax.management.remote.JMXConnector getConnectorAsService(java.lang.ClassLoader, javax.management.remote.JMXServiceURL, java.util.Map<java.lang.String, ?>);
descriptor: (Ljava/lang/ClassLoader;Ljavax/management/remote/JMXServiceURL;Ljava/util/Map;)Ljavax/management/remote/JMXConnector;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: ldc Ljavax/management/remote/JMXConnectorProvider;
aload 0
invokestatic javax.management.remote.JMXConnectorFactory.getProviderIterator:(Ljava/lang/Class;Ljava/lang/ClassLoader;)Ljava/util/Iterator;
1: astore 3
start local 3 2: aconst_null
astore 4
start local 4 3: aconst_null
astore 5
start local 5 4: goto 24
5: StackMap locals: java.util.Iterator javax.management.remote.JMXConnector java.io.IOException
StackMap stack:
aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.management.remote.JMXConnectorProvider
aload 1
aload 2
invokeinterface javax.management.remote.JMXConnectorProvider.newJMXConnector:(Ljavax/management/remote/JMXServiceURL;Ljava/util/Map;)Ljavax/management/remote/JMXConnector;
astore 4
6: aload 4
7: areturn
8: StackMap locals:
StackMap stack: javax.management.remote.JMXProviderException
astore 6
start local 6 9: aload 6
athrow
end local 6 10: StackMap locals:
StackMap stack: java.lang.Exception
astore 6
start local 6 11: getstatic javax.management.remote.JMXConnectorFactory.logger:Lcom/sun/jmx/remote/util/ClassLogger;
invokevirtual com.sun.jmx.remote.util.ClassLogger.traceOn:()Z
ifeq 17
12: getstatic javax.management.remote.JMXConnectorFactory.logger:Lcom/sun/jmx/remote/util/ClassLogger;
ldc "getConnectorAsService"
13: new java.lang.StringBuilder
dup
ldc "URL["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
14: ldc "] Service provider exception: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
15: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
16: invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
17: StackMap locals: java.lang.Exception
StackMap stack:
aload 6
instanceof java.net.MalformedURLException
ifne 24
18: aload 5
ifnonnull 24
19: aload 5
instanceof java.io.IOException
ifeq 22
20: aload 6
checkcast java.io.IOException
astore 5
21: goto 24
22: StackMap locals:
StackMap stack:
new java.io.IOException
dup
aload 6
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
aload 6
23: invokestatic com.sun.jmx.remote.util.EnvHelp.initCause:(Ljava/lang/Throwable;Ljava/lang/Throwable;)Ljava/lang/Throwable;
checkcast java.io.IOException
astore 5
end local 6 24: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
25: aload 5
ifnonnull 27
26: aconst_null
areturn
27: StackMap locals:
StackMap stack:
aload 5
athrow
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 28 0 loader Ljava/lang/ClassLoader;
0 28 1 url Ljavax/management/remote/JMXServiceURL;
0 28 2 map Ljava/util/Map<Ljava/lang/String;*>;
2 28 3 providers Ljava/util/Iterator<Ljavax/management/remote/JMXConnectorProvider;>;
3 28 4 connection Ljavax/management/remote/JMXConnector;
4 28 5 exception Ljava/io/IOException;
9 10 6 e Ljavax/management/remote/JMXProviderException;
11 24 6 e Ljava/lang/Exception;
Exception table:
from to target type
5 7 8 Class javax.management.remote.JMXProviderException
5 7 10 Class java.lang.Exception
Exceptions:
throws java.io.IOException
Signature: (Ljava/lang/ClassLoader;Ljavax/management/remote/JMXServiceURL;Ljava/util/Map<Ljava/lang/String;*>;)Ljavax/management/remote/JMXConnector;
MethodParameters:
Name Flags
loader
url
map
static <T> T getProvider(java.lang.String, java.lang.String, java.lang.ClassLoader, java.lang.String, java.lang.Class<T>);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=12, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new java.util.StringTokenizer
dup
aload 1
ldc "|"
invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
astore 5
start local 5 1: goto 26
2: StackMap locals: java.util.StringTokenizer
StackMap stack:
aload 5
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
astore 6
start local 6 3: new java.lang.StringBuilder
dup
aload 6
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 0
invokestatic javax.management.remote.JMXConnectorFactory.protocol2package:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 7
start local 7 6: aload 7
iconst_1
aload 2
invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
astore 8
start local 8 7: goto 10
end local 8 StackMap locals: java.lang.String java.lang.String java.lang.ClassLoader java.lang.String java.lang.Class java.util.StringTokenizer java.lang.String java.lang.String
StackMap stack: java.lang.ClassNotFoundException
8: pop
9: goto 26
start local 8 10: StackMap locals: java.lang.Class
StackMap stack:
aload 4
aload 8
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 17
11: new java.lang.StringBuilder
dup
ldc "Provider class does not implement "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
12: aload 4
invokevirtual java.lang.Class.getName:()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;
13: aload 8
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
14: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
15: astore 9
start local 9 16: new javax.management.remote.JMXProviderException
dup
aload 9
invokespecial javax.management.remote.JMXProviderException.<init>:(Ljava/lang/String;)V
athrow
end local 9 17: StackMap locals:
StackMap stack:
aload 8
invokestatic com.sun.jmx.mbeanserver.Util.cast:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Class
astore 9
start local 9 18: aload 9
invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
19: areturn
20: StackMap locals: java.lang.String java.lang.String java.lang.ClassLoader java.lang.String java.lang.Class java.util.StringTokenizer java.lang.String java.lang.String java.lang.Class java.lang.Class
StackMap stack: java.lang.Exception
astore 10
start local 10 21: new java.lang.StringBuilder
dup
ldc "Exception when instantiating provider ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
22: ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
23: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
24: astore 11
start local 11 25: new javax.management.remote.JMXProviderException
dup
aload 11
aload 10
invokespecial javax.management.remote.JMXProviderException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 26: StackMap locals: java.lang.String java.lang.String java.lang.ClassLoader java.lang.String java.lang.Class java.util.StringTokenizer
StackMap stack:
aload 5
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 2
27: aconst_null
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 28 0 protocol Ljava/lang/String;
0 28 1 pkgs Ljava/lang/String;
0 28 2 loader Ljava/lang/ClassLoader;
0 28 3 providerClassName Ljava/lang/String;
0 28 4 targetInterface Ljava/lang/Class<TT;>;
1 28 5 tokenizer Ljava/util/StringTokenizer;
3 26 6 pkg Ljava/lang/String;
6 26 7 className Ljava/lang/String;
7 8 8 providerClass Ljava/lang/Class<*>;
10 26 8 providerClass Ljava/lang/Class<*>;
16 17 9 msg Ljava/lang/String;
18 26 9 providerClassT Ljava/lang/Class<+TT;>;
21 26 10 e Ljava/lang/Exception;
25 26 11 msg Ljava/lang/String;
Exception table:
from to target type
6 7 8 Class java.lang.ClassNotFoundException
18 19 20 Class java.lang.Exception
Exceptions:
throws java.io.IOException
Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/lang/Class<TT;>;)TT;
MethodParameters:
Name Flags
protocol
pkgs
loader
providerClassName
targetInterface
static java.lang.ClassLoader resolveClassLoader(java.util.Map);
descriptor: (Ljava/util/Map;)Ljava/lang/ClassLoader;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aload 0
ifnull 7
2: aload 0
ldc "jmx.remote.protocol.provider.class.loader"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.ClassLoader
3: astore 1
4: goto 7
StackMap locals: java.util.Map java.lang.ClassLoader
StackMap stack: java.lang.ClassCastException
5: pop
6: new java.lang.IllegalArgumentException
dup
ldc "The ClassLoader supplied in the environment map using the jmx.remote.protocol.provider.class.loader attribute is not an instance of java.lang.ClassLoader"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
aload 1
ifnonnull 9
8: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
astore 1
9: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 environment Ljava/util/Map;
1 10 1 loader Ljava/lang/ClassLoader;
Exception table:
from to target type
2 4 5 Class java.lang.ClassCastException
MethodParameters:
Name Flags
environment
private static java.lang.String protocol2package(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
bipush 43
bipush 46
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
bipush 45
bipush 95
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 protocol Ljava/lang/String;
MethodParameters:
Name Flags
protocol
}
SourceFile: "JMXConnectorFactory.java"
NestMembers:
javax.management.remote.JMXConnectorFactory$1 javax.management.remote.JMXConnectorFactory$2 javax.management.remote.JMXConnectorFactory$2$1
InnerClasses:
javax.management.remote.JMXConnectorFactory$1
javax.management.remote.JMXConnectorFactory$2