public class javax.management.MBeanServerFactory
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: javax.management.MBeanServerFactory
super_class: java.lang.Object
{
private static javax.management.MBeanServerBuilder builder;
descriptor: Ljavax/management/MBeanServerBuilder;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static final java.util.ArrayList<javax.management.MBeanServer> mBeanServerList;
descriptor: Ljava/util/ArrayList;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/ArrayList<Ljavax/management/MBeanServer;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: aconst_null
putstatic javax.management.MBeanServerFactory.builder:Ljavax/management/MBeanServerBuilder;
1: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
2: putstatic javax.management.MBeanServerFactory.mBeanServerList:Ljava/util/ArrayList;
3: 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/MBeanServerFactory;
public static void releaseMBeanServer(javax.management.MBeanServer);
descriptor: (Ljavax/management/MBeanServer;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "releaseMBeanServer"
invokestatic javax.management.MBeanServerFactory.checkPermission:(Ljava/lang/String;)V
1: aload 0
invokestatic javax.management.MBeanServerFactory.removeMBeanServer:(Ljavax/management/MBeanServer;)V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 mbeanServer Ljavax/management/MBeanServer;
MethodParameters:
Name Flags
mbeanServer
public static javax.management.MBeanServer createMBeanServer();
descriptor: ()Ljavax/management/MBeanServer;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: aconst_null
invokestatic javax.management.MBeanServerFactory.createMBeanServer:(Ljava/lang/String;)Ljavax/management/MBeanServer;
areturn
LocalVariableTable:
Start End Slot Name Signature
public static javax.management.MBeanServer createMBeanServer(java.lang.String);
descriptor: (Ljava/lang/String;)Ljavax/management/MBeanServer;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: ldc "createMBeanServer"
invokestatic javax.management.MBeanServerFactory.checkPermission:(Ljava/lang/String;)V
1: aload 0
invokestatic javax.management.MBeanServerFactory.newMBeanServer:(Ljava/lang/String;)Ljavax/management/MBeanServer;
astore 1
start local 1 2: aload 1
invokestatic javax.management.MBeanServerFactory.addMBeanServer:(Ljavax/management/MBeanServer;)V
3: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 domain Ljava/lang/String;
2 4 1 mBeanServer Ljavax/management/MBeanServer;
MethodParameters:
Name Flags
domain
public static javax.management.MBeanServer newMBeanServer();
descriptor: ()Ljavax/management/MBeanServer;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: aconst_null
invokestatic javax.management.MBeanServerFactory.newMBeanServer:(Ljava/lang/String;)Ljavax/management/MBeanServer;
areturn
LocalVariableTable:
Start End Slot Name Signature
public static javax.management.MBeanServer newMBeanServer(java.lang.String);
descriptor: (Ljava/lang/String;)Ljavax/management/MBeanServer;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: ldc "newMBeanServer"
invokestatic javax.management.MBeanServerFactory.checkPermission:(Ljava/lang/String;)V
1: invokestatic javax.management.MBeanServerFactory.getNewMBeanServerBuilder:()Ljavax/management/MBeanServerBuilder;
astore 1
start local 1 2: aload 1
dup
astore 2
monitorenter
3: aload 1
invokevirtual javax.management.MBeanServerBuilder.newMBeanServerDelegate:()Ljavax/management/MBeanServerDelegate;
4: astore 3
start local 3 5: aload 3
ifnonnull 7
6: new javax.management.JMRuntimeException
dup
ldc "MBeanServerBuilder.newMBeanServerDelegate() returned null"
invokespecial javax.management.JMRuntimeException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals: javax.management.MBeanServerBuilder javax.management.MBeanServerBuilder javax.management.MBeanServerDelegate
StackMap stack:
aload 1
aload 0
aconst_null
aload 3
invokevirtual javax.management.MBeanServerBuilder.newMBeanServer:(Ljava/lang/String;Ljavax/management/MBeanServer;Ljavax/management/MBeanServerDelegate;)Ljavax/management/MBeanServer;
8: astore 4
start local 4 9: aload 4
ifnonnull 11
10: new javax.management.JMRuntimeException
dup
ldc "MBeanServerBuilder.newMBeanServer() returned null"
invokespecial javax.management.JMRuntimeException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals: javax.management.MBeanServer
StackMap stack:
aload 4
aload 2
monitorexit
12: areturn
end local 4 end local 3 13: StackMap locals: java.lang.String javax.management.MBeanServerBuilder javax.management.MBeanServerBuilder
StackMap stack: java.lang.Throwable
aload 2
monitorexit
14: athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 domain Ljava/lang/String;
2 15 1 mbsBuilder Ljavax/management/MBeanServerBuilder;
5 13 3 delegate Ljavax/management/MBeanServerDelegate;
9 13 4 mbeanServer Ljavax/management/MBeanServer;
Exception table:
from to target type
3 12 13 any
13 14 13 any
MethodParameters:
Name Flags
domain
public static synchronized java.util.ArrayList<javax.management.MBeanServer> findMBeanServer(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/ArrayList;
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=5, args_size=1
start local 0 0: ldc "findMBeanServer"
invokestatic javax.management.MBeanServerFactory.checkPermission:(Ljava/lang/String;)V
1: aload 0
ifnonnull 3
2: new java.util.ArrayList
dup
getstatic javax.management.MBeanServerFactory.mBeanServerList:Ljava/util/ArrayList;
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
areturn
3: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 4: getstatic javax.management.MBeanServerFactory.mBeanServerList:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 3
goto 9
StackMap locals: java.lang.String java.util.ArrayList top java.util.Iterator
StackMap stack:
5: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.management.MBeanServer
astore 2
start local 2 6: aload 2
invokestatic javax.management.MBeanServerFactory.mBeanServerName:(Ljavax/management/MBeanServer;)Ljava/lang/String;
astore 4
start local 4 7: aload 0
aload 4
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 9
8: aload 1
aload 2
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 4 end local 2 9: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
10: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 agentId Ljava/lang/String;
4 11 1 result Ljava/util/ArrayList<Ljavax/management/MBeanServer;>;
6 9 2 mbs Ljavax/management/MBeanServer;
7 9 4 name Ljava/lang/String;
Signature: (Ljava/lang/String;)Ljava/util/ArrayList<Ljavax/management/MBeanServer;>;
MethodParameters:
Name Flags
agentId
public static javax.management.loading.ClassLoaderRepository getClassLoaderRepository(javax.management.MBeanServer);
descriptor: (Ljavax/management/MBeanServer;)Ljavax/management/loading/ClassLoaderRepository;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokeinterface javax.management.MBeanServer.getClassLoaderRepository:()Ljavax/management/loading/ClassLoaderRepository;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 server Ljavax/management/MBeanServer;
MethodParameters:
Name Flags
server
private static java.lang.String mBeanServerName(javax.management.MBeanServer);
descriptor: (Ljavax/management/MBeanServer;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getstatic javax.management.MBeanServerDelegate.DELEGATE_NAME:Ljavax/management/ObjectName;
1: ldc "MBeanServerId"
2: invokeinterface javax.management.MBeanServer.getAttribute:(Ljavax/management/ObjectName;Ljava/lang/String;)Ljava/lang/Object;
checkcast java.lang.String
3: areturn
4: StackMap locals:
StackMap stack: javax.management.JMException
pop
5: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 mbs Ljavax/management/MBeanServer;
Exception table:
from to target type
0 3 4 Class javax.management.JMException
MethodParameters:
Name Flags
mbs
private static void checkPermission(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 1
start local 1 1: aload 1
ifnull 4
2: new javax.management.MBeanServerPermission
dup
aload 0
invokespecial javax.management.MBeanServerPermission.<init>:(Ljava/lang/String;)V
astore 2
start local 2 3: aload 1
aload 2
invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
end local 2 4: StackMap locals: java.lang.SecurityManager
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 action Ljava/lang/String;
1 5 1 sm Ljava/lang/SecurityManager;
3 4 2 perm Ljava/security/Permission;
Exceptions:
throws java.lang.SecurityException
MethodParameters:
Name Flags
action
private static synchronized void addMBeanServer(javax.management.MBeanServer);
descriptor: (Ljavax/management/MBeanServer;)V
flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic javax.management.MBeanServerFactory.mBeanServerList:Ljava/util/ArrayList;
aload 0
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 mbs Ljavax/management/MBeanServer;
MethodParameters:
Name Flags
mbs
private static synchronized void removeMBeanServer(javax.management.MBeanServer);
descriptor: (Ljavax/management/MBeanServer;)V
flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=5, locals=2, args_size=1
start local 0 0: getstatic javax.management.MBeanServerFactory.mBeanServerList:Ljava/util/ArrayList;
aload 0
invokevirtual java.util.ArrayList.remove:(Ljava/lang/Object;)Z
istore 1
start local 1 1: iload 1
ifne 8
2: getstatic com.sun.jmx.defaults.JmxProperties.MBEANSERVER_LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
3: ldc Ljavax/management/MBeanServerFactory;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
4: ldc "removeMBeanServer(MBeanServer)"
5: ldc "MBeanServer was not in list!"
6: invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
7: new java.lang.IllegalArgumentException
dup
ldc "MBeanServer was not in list!"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals: int
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 mbs Ljavax/management/MBeanServer;
1 9 1 removed Z
MethodParameters:
Name Flags
mbs
private static java.lang.Class loadBuilderClass(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Class;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
1: astore 1
start local 1 2: aload 1
ifnull 4
3: aload 1
aload 0
invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
areturn
4: StackMap locals: java.lang.ClassLoader
StackMap stack:
aload 0
invokestatic sun.reflect.misc.ReflectUtil.forName:(Ljava/lang/String;)Ljava/lang/Class;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 builderClassName Ljava/lang/String;
2 5 1 loader Ljava/lang/ClassLoader;
Exceptions:
throws java.lang.ClassNotFoundException
MethodParameters:
Name Flags
builderClassName
private static javax.management.MBeanServerBuilder newBuilder(java.lang.Class);
descriptor: (Ljava/lang/Class;)Ljavax/management/MBeanServerBuilder;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
astore 1
start local 1 1: aload 1
checkcast javax.management.MBeanServerBuilder
2: areturn
end local 1 3: StackMap locals:
StackMap stack: java.lang.RuntimeException
astore 1
start local 1 4: aload 1
athrow
end local 1 5: StackMap locals:
StackMap stack: java.lang.Exception
astore 1
start local 1 6: new java.lang.StringBuilder
dup
ldc "Failed to instantiate a MBeanServerBuilder from "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
7: 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;
8: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
9: astore 2
start local 2 10: new javax.management.JMRuntimeException
dup
aload 2
aload 1
invokespecial javax.management.JMRuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 builderClass Ljava/lang/Class;
1 3 1 builder Ljava/lang/Object;
4 5 1 x Ljava/lang/RuntimeException;
6 11 1 x Ljava/lang/Exception;
10 11 2 msg Ljava/lang/String;
Exception table:
from to target type
0 2 3 Class java.lang.RuntimeException
0 2 5 Class java.lang.Exception
MethodParameters:
Name Flags
builderClass
private static synchronized void checkMBeanServerBuilder();
descriptor: ()V
flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=5, locals=4, args_size=0
0: new com.sun.jmx.mbeanserver.GetPropertyAction
dup
ldc "javax.management.builder.initial"
invokespecial com.sun.jmx.mbeanserver.GetPropertyAction.<init>:(Ljava/lang/String;)V
1: astore 0
start local 0 2: aload 0
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
astore 1
start local 1 3: aload 1
ifnull 4
aload 1
invokevirtual java.lang.String.length:()I
ifne 6
4: StackMap locals: com.sun.jmx.mbeanserver.GetPropertyAction java.lang.String
StackMap stack:
ldc Ljavax/management/MBeanServerBuilder;
astore 2
start local 2 5: goto 7
end local 2 6: StackMap locals:
StackMap stack:
aload 1
invokestatic javax.management.MBeanServerFactory.loadBuilderClass:(Ljava/lang/String;)Ljava/lang/Class;
astore 2
start local 2 7: StackMap locals: java.lang.Class
StackMap stack:
getstatic javax.management.MBeanServerFactory.builder:Ljavax/management/MBeanServerBuilder;
ifnull 11
8: getstatic javax.management.MBeanServerFactory.builder:Ljavax/management/MBeanServerBuilder;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
astore 3
start local 3 9: aload 2
aload 3
if_acmpne 11
10: return
end local 3 11: StackMap locals:
StackMap stack:
aload 2
invokestatic javax.management.MBeanServerFactory.newBuilder:(Ljava/lang/Class;)Ljavax/management/MBeanServerBuilder;
putstatic javax.management.MBeanServerFactory.builder:Ljavax/management/MBeanServerBuilder;
end local 2 12: goto 32
StackMap locals: com.sun.jmx.mbeanserver.GetPropertyAction java.lang.String
StackMap stack: java.lang.ClassNotFoundException
13: astore 2
start local 2 14: new java.lang.StringBuilder
dup
ldc "Failed to load MBeanServerBuilder class "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
15: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
16: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
17: astore 3
start local 3 18: new javax.management.JMRuntimeException
dup
aload 3
aload 2
invokespecial javax.management.JMRuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 end local 2 end local 1 end local 0 19: StackMap locals:
StackMap stack: java.lang.RuntimeException
astore 0
start local 0 20: getstatic com.sun.jmx.defaults.JmxProperties.MBEANSERVER_LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 31
21: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
22: ldc "Failed to instantiate MBeanServerBuilder: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
23: ldc "\n\t\tCheck the value of the "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
24: ldc "javax.management.builder.initial"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " property."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
25: astore 1
start local 1 26: getstatic com.sun.jmx.defaults.JmxProperties.MBEANSERVER_LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
27: ldc Ljavax/management/MBeanServerFactory;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
28: ldc "checkMBeanServerBuilder"
29: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
30: invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
end local 1 31: StackMap locals: java.lang.RuntimeException
StackMap stack:
aload 0
athrow
end local 0 32: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
2 19 0 act Lcom/sun/jmx/mbeanserver/GetPropertyAction;
3 19 1 builderClassName Ljava/lang/String;
5 6 2 newBuilderClass Ljava/lang/Class;
7 12 2 newBuilderClass Ljava/lang/Class;
9 11 3 builderClass Ljava/lang/Class;
14 19 2 x Ljava/lang/ClassNotFoundException;
18 19 3 msg Ljava/lang/String;
20 32 0 x Ljava/lang/RuntimeException;
26 31 1 strb Ljava/lang/StringBuilder;
Exception table:
from to target type
3 10 13 Class java.lang.ClassNotFoundException
11 12 13 Class java.lang.ClassNotFoundException
0 10 19 Class java.lang.RuntimeException
11 19 19 Class java.lang.RuntimeException
private static synchronized javax.management.MBeanServerBuilder getNewMBeanServerBuilder();
descriptor: ()Ljavax/management/MBeanServerBuilder;
flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=0, args_size=0
0: invokestatic javax.management.MBeanServerFactory.checkMBeanServerBuilder:()V
1: getstatic javax.management.MBeanServerFactory.builder:Ljavax/management/MBeanServerBuilder;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "MBeanServerFactory.java"