public class org.eclipse.jetty.jmx.MBeanContainer implements org.eclipse.jetty.util.component.Container$InheritedListener, org.eclipse.jetty.util.component.Dumpable, org.eclipse.jetty.util.component.Destroyable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.eclipse.jetty.jmx.MBeanContainer
super_class: java.lang.Object
{
private static final org.eclipse.jetty.util.log.Logger LOG;
descriptor: Lorg/eclipse/jetty/util/log/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.concurrent.ConcurrentMap<java.lang.String, java.util.concurrent.atomic.AtomicInteger> __unique;
descriptor: Ljava/util/concurrent/ConcurrentMap;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentMap<Ljava/lang/String;Ljava/util/concurrent/atomic/AtomicInteger;>;
private static final org.eclipse.jetty.util.component.Container ROOT;
descriptor: Lorg/eclipse/jetty/util/component/Container;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final javax.management.MBeanServer _mbeanServer;
descriptor: Ljavax/management/MBeanServer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean _useCacheForOtherClassLoaders;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.ConcurrentMap<java.lang.Class, org.eclipse.jetty.jmx.MetaData> _metaData;
descriptor: Ljava/util/concurrent/ConcurrentMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentMap<Ljava/lang/Class;Lorg/eclipse/jetty/jmx/MetaData;>;
private final java.util.concurrent.ConcurrentMap<java.lang.Object, org.eclipse.jetty.util.component.Container> _beans;
descriptor: Ljava/util/concurrent/ConcurrentMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentMap<Ljava/lang/Object;Lorg/eclipse/jetty/util/component/Container;>;
private final java.util.concurrent.ConcurrentMap<java.lang.Object, javax.management.ObjectName> _mbeans;
descriptor: Ljava/util/concurrent/ConcurrentMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentMap<Ljava/lang/Object;Ljavax/management/ObjectName;>;
private java.lang.String _domain;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc Lorg/eclipse/jetty/jmx/MBeanContainer;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic org.eclipse.jetty.util.log.Log.getLogger:(Ljava/lang/String;)Lorg/eclipse/jetty/util/log/Logger;
putstatic org.eclipse.jetty.jmx.MBeanContainer.LOG:Lorg/eclipse/jetty/util/log/Logger;
1: new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putstatic org.eclipse.jetty.jmx.MBeanContainer.__unique:Ljava/util/concurrent/ConcurrentMap;
2: new org.eclipse.jetty.util.component.ContainerLifeCycle
dup
invokespecial org.eclipse.jetty.util.component.ContainerLifeCycle.<init>:()V
putstatic org.eclipse.jetty.jmx.MBeanContainer.ROOT:Lorg/eclipse/jetty/util/component/Container;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(javax.management.MBeanServer);
descriptor: (Ljavax/management/MBeanServer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
invokespecial org.eclipse.jetty.jmx.MBeanContainer.<init>:(Ljavax/management/MBeanServer;Z)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jetty/jmx/MBeanContainer;
0 2 1 server Ljavax/management/MBeanServer;
MethodParameters:
Name Flags
server
public void <init>(javax.management.MBeanServer, boolean);
descriptor: (Ljavax/management/MBeanServer;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield org.eclipse.jetty.jmx.MBeanContainer._metaData:Ljava/util/concurrent/ConcurrentMap;
2: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield org.eclipse.jetty.jmx.MBeanContainer._beans:Ljava/util/concurrent/ConcurrentMap;
3: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield org.eclipse.jetty.jmx.MBeanContainer._mbeans:Ljava/util/concurrent/ConcurrentMap;
4: aload 0
aconst_null
putfield org.eclipse.jetty.jmx.MBeanContainer._domain:Ljava/lang/String;
5: aload 0
aload 1
putfield org.eclipse.jetty.jmx.MBeanContainer._mbeanServer:Ljavax/management/MBeanServer;
6: aload 0
iload 2
putfield org.eclipse.jetty.jmx.MBeanContainer._useCacheForOtherClassLoaders:Z
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/eclipse/jetty/jmx/MBeanContainer;
0 8 1 server Ljavax/management/MBeanServer;
0 8 2 cacheOtherClassLoaders Z
MethodParameters:
Name Flags
server
cacheOtherClassLoaders
public javax.management.MBeanServer getMBeanServer();
descriptor: ()Ljavax/management/MBeanServer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.jmx.MBeanContainer._mbeanServer:Ljavax/management/MBeanServer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jetty/jmx/MBeanContainer;
public boolean isUseCacheForOtherClassLoaders();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.jmx.MBeanContainer._useCacheForOtherClassLoaders:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jetty/jmx/MBeanContainer;
RuntimeVisibleAnnotations:
org.eclipse.jetty.util.annotation.ManagedAttribute(value = "Whether to use the cache for MBeans loaded by other ClassLoaders", readonly = true)
public void setDomain(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.eclipse.jetty.jmx.MBeanContainer._domain:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jetty/jmx/MBeanContainer;
0 2 1 domain Ljava/lang/String;
MethodParameters:
Name Flags
domain
public java.lang.String getDomain();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.jmx.MBeanContainer._domain:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jetty/jmx/MBeanContainer;
RuntimeVisibleAnnotations:
org.eclipse.jetty.util.annotation.ManagedAttribute(value = "The default ObjectName domain")
public java.lang.Object mbeanFor(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic org.eclipse.jetty.jmx.MBeanContainer.mbeanFor:(Lorg/eclipse/jetty/jmx/MBeanContainer;Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jetty/jmx/MBeanContainer;
0 1 1 o Ljava/lang/Object;
MethodParameters:
Name Flags
o
static java.lang.Object mbeanFor(org.eclipse.jetty.jmx.MBeanContainer, java.lang.Object);
descriptor: (Lorg/eclipse/jetty/jmx/MBeanContainer;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=8, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic org.eclipse.jetty.jmx.MBeanContainer.findMetaData:(Lorg/eclipse/jetty/jmx/MBeanContainer;Ljava/lang/Class;)Lorg/eclipse/jetty/jmx/MetaData;
aload 1
invokevirtual org.eclipse.jetty.jmx.MetaData.newInstance:(Ljava/lang/Object;)Ljava/lang/Object;
astore 2
start local 2 3: aload 2
instanceof org.eclipse.jetty.jmx.ObjectMBean
ifeq 5
4: aload 2
checkcast org.eclipse.jetty.jmx.ObjectMBean
aload 0
invokevirtual org.eclipse.jetty.jmx.ObjectMBean.setMBeanContainer:(Lorg/eclipse/jetty/jmx/MBeanContainer;)V
5: StackMap locals: java.lang.Object
StackMap stack:
getstatic org.eclipse.jetty.jmx.MBeanContainer.LOG:Lorg/eclipse/jetty/util/log/Logger;
invokeinterface org.eclipse.jetty.util.log.Logger.isDebugEnabled:()Z
ifeq 19
6: getstatic org.eclipse.jetty.jmx.MBeanContainer.LOG:Lorg/eclipse/jetty/util/log/Logger;
ldc "MBean for {} is {}"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 2
aastore
invokeinterface org.eclipse.jetty.util.log.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
7: aload 2
instanceof org.eclipse.jetty.jmx.ObjectMBean
ifeq 19
8: aload 2
checkcast org.eclipse.jetty.jmx.ObjectMBean
invokevirtual org.eclipse.jetty.jmx.ObjectMBean.getMBeanInfo:()Ljavax/management/MBeanInfo;
astore 3
start local 3 9: aload 3
invokevirtual javax.management.MBeanInfo.getAttributes:()[Ljavax/management/MBeanAttributeInfo;
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 13
StackMap locals: org.eclipse.jetty.jmx.MBeanContainer java.lang.Object java.lang.Object javax.management.MBeanInfo top int int java.lang.Object[]
StackMap stack:
10: aload 7
iload 5
aaload
astore 4
start local 4 11: getstatic org.eclipse.jetty.jmx.MBeanContainer.LOG:Lorg/eclipse/jetty/util/log/Logger;
ldc " {}"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 4
aastore
invokeinterface org.eclipse.jetty.util.log.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 4 12: iinc 5 1
StackMap locals:
StackMap stack:
13: iload 5
iload 6
if_icmplt 10
14: aload 3
invokevirtual javax.management.MBeanInfo.getOperations:()[Ljavax/management/MBeanOperationInfo;
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 18
StackMap locals:
StackMap stack:
15: aload 7
iload 5
aaload
astore 4
start local 4 16: getstatic org.eclipse.jetty.jmx.MBeanContainer.LOG:Lorg/eclipse/jetty/util/log/Logger;
ldc " {}"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 4
aastore
invokeinterface org.eclipse.jetty.util.log.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 4 17: iinc 5 1
StackMap locals:
StackMap stack:
18: iload 5
iload 6
if_icmplt 15
end local 3 19: StackMap locals: org.eclipse.jetty.jmx.MBeanContainer java.lang.Object java.lang.Object
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 container Lorg/eclipse/jetty/jmx/MBeanContainer;
0 20 1 o Ljava/lang/Object;
3 20 2 mbean Ljava/lang/Object;
9 19 3 info Ljavax/management/MBeanInfo;
11 12 4 a Ljava/lang/Object;
16 17 4 a Ljava/lang/Object;
MethodParameters:
Name Flags
container
o
static org.eclipse.jetty.jmx.MetaData findMetaData(org.eclipse.jetty.jmx.MBeanContainer, java.lang.Class<?>);
descriptor: (Lorg/eclipse/jetty/jmx/MBeanContainer;Ljava/lang/Class;)Lorg/eclipse/jetty/jmx/MetaData;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic org.eclipse.jetty.jmx.MBeanContainer.getMetaData:(Lorg/eclipse/jetty/jmx/MBeanContainer;Ljava/lang/Class;)Lorg/eclipse/jetty/jmx/MetaData;
astore 2
start local 2 3: aload 2
ifnull 7
4: getstatic org.eclipse.jetty.jmx.MBeanContainer.LOG:Lorg/eclipse/jetty/util/log/Logger;
invokeinterface org.eclipse.jetty.util.log.Logger.isDebugEnabled:()Z
ifeq 6
5: getstatic org.eclipse.jetty.jmx.MBeanContainer.LOG:Lorg/eclipse/jetty/util/log/Logger;
ldc "Found cached {}"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
invokeinterface org.eclipse.jetty.util.log.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
6: StackMap locals: org.eclipse.jetty.jmx.MetaData
StackMap stack:
aload 2
areturn
7: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic org.eclipse.jetty.jmx.MBeanContainer.newMetaData:(Lorg/eclipse/jetty/jmx/MBeanContainer;Ljava/lang/Class;)Lorg/eclipse/jetty/jmx/MetaData;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 container Lorg/eclipse/jetty/jmx/MBeanContainer;
0 8 1 klass Ljava/lang/Class<*>;
3 8 2 metaData Lorg/eclipse/jetty/jmx/MetaData;
Signature: (Lorg/eclipse/jetty/jmx/MBeanContainer;Ljava/lang/Class<*>;)Lorg/eclipse/jetty/jmx/MetaData;
MethodParameters:
Name Flags
container
klass
private static org.eclipse.jetty.jmx.MetaData getMetaData(org.eclipse.jetty.jmx.MBeanContainer, java.lang.Class<?>);
descriptor: (Lorg/eclipse/jetty/jmx/MBeanContainer;Ljava/lang/Class;)Lorg/eclipse/jetty/jmx/MetaData;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ifnonnull 1
aconst_null
goto 2
StackMap locals:
StackMap stack:
1: aload 0
getfield org.eclipse.jetty.jmx.MBeanContainer._metaData:Ljava/util/concurrent/ConcurrentMap;
aload 1
invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.eclipse.jetty.jmx.MetaData
StackMap locals:
StackMap stack: org.eclipse.jetty.jmx.MetaData
2: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 container Lorg/eclipse/jetty/jmx/MBeanContainer;
0 3 1 klass Ljava/lang/Class<*>;
Signature: (Lorg/eclipse/jetty/jmx/MBeanContainer;Ljava/lang/Class<*>;)Lorg/eclipse/jetty/jmx/MetaData;
MethodParameters:
Name Flags
container
klass
private static org.eclipse.jetty.jmx.MetaData newMetaData(org.eclipse.jetty.jmx.MBeanContainer, java.lang.Class<?>);
descriptor: (Lorg/eclipse/jetty/jmx/MBeanContainer;Ljava/lang/Class;)Lorg/eclipse/jetty/jmx/MetaData;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 1
ldc Ljava/lang/Object;
if_acmpne 4
3: new org.eclipse.jetty.jmx.MetaData
dup
aload 1
aconst_null
aconst_null
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
invokespecial org.eclipse.jetty.jmx.MetaData.<init>:(Ljava/lang/Class;Ljava/lang/reflect/Constructor;Lorg/eclipse/jetty/jmx/MetaData;Ljava/util/List;)V
areturn
4: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
invokestatic java.util.Arrays.stream:([Ljava/lang/Object;)Ljava/util/stream/Stream;
5: aload 0
invokedynamic apply(Lorg/eclipse/jetty/jmx/MBeanContainer;)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;
org/eclipse/jetty/jmx/MBeanContainer.lambda$0(Lorg/eclipse/jetty/jmx/MBeanContainer;Ljava/lang/Class;)Lorg/eclipse/jetty/jmx/MetaData; (6)
(Ljava/lang/Class;)Lorg/eclipse/jetty/jmx/MetaData;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
6: invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.util.List
7: astore 2
start local 2 8: new org.eclipse.jetty.jmx.MetaData
dup
aload 1
aload 1
invokestatic org.eclipse.jetty.jmx.MBeanContainer.findConstructor:(Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
aload 0
aload 1
invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
invokestatic org.eclipse.jetty.jmx.MBeanContainer.findMetaData:(Lorg/eclipse/jetty/jmx/MBeanContainer;Ljava/lang/Class;)Lorg/eclipse/jetty/jmx/MetaData;
aload 2
invokespecial org.eclipse.jetty.jmx.MetaData.<init>:(Ljava/lang/Class;Ljava/lang/reflect/Constructor;Lorg/eclipse/jetty/jmx/MetaData;Ljava/util/List;)V
astore 3
start local 3 9: aload 0
ifnull 16
10: aload 0
invokevirtual org.eclipse.jetty.jmx.MBeanContainer.isUseCacheForOtherClassLoaders:()Z
ifne 11
aload 1
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
if_acmpne 16
11: StackMap locals: java.util.List org.eclipse.jetty.jmx.MetaData
StackMap stack:
aload 0
getfield org.eclipse.jetty.jmx.MBeanContainer._metaData:Ljava/util/concurrent/ConcurrentMap;
aload 1
aload 3
invokeinterface java.util.concurrent.ConcurrentMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.eclipse.jetty.jmx.MetaData
astore 4
start local 4 12: aload 4
ifnull 14
13: aload 4
astore 3
14: StackMap locals: org.eclipse.jetty.jmx.MetaData
StackMap stack:
getstatic org.eclipse.jetty.jmx.MBeanContainer.LOG:Lorg/eclipse/jetty/util/log/Logger;
invokeinterface org.eclipse.jetty.util.log.Logger.isDebugEnabled:()Z
ifeq 16
15: getstatic org.eclipse.jetty.jmx.MBeanContainer.LOG:Lorg/eclipse/jetty/util/log/Logger;
ldc "Cached {}"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
invokeinterface org.eclipse.jetty.util.log.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 4 16: 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 17 0 container Lorg/eclipse/jetty/jmx/MBeanContainer;
0 17 1 klass Ljava/lang/Class<*>;
8 17 2 interfaces Ljava/util/List<Lorg/eclipse/jetty/jmx/MetaData;>;
9 17 3 metaData Lorg/eclipse/jetty/jmx/MetaData;
12 16 4 existing Lorg/eclipse/jetty/jmx/MetaData;
Signature: (Lorg/eclipse/jetty/jmx/MBeanContainer;Ljava/lang/Class<*>;)Lorg/eclipse/jetty/jmx/MetaData;
MethodParameters:
Name Flags
container
klass
private static java.lang.reflect.Constructor<?> findConstructor(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=7, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Class.getPackage:()Ljava/lang/Package;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: java.lang.Package
StackMap stack:
aload 1
invokevirtual java.lang.Package.getName:()Ljava/lang/String;
astore 2
start local 2 4: aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aload 2
invokevirtual java.lang.String.isEmpty:()Z
ifeq 5
iconst_0
goto 6
StackMap locals: java.lang.Class java.lang.Package java.lang.String
StackMap stack: java.lang.String
5: aload 2
invokevirtual java.lang.String.length:()I
iconst_1
iadd
StackMap locals: java.lang.Class java.lang.Package java.lang.String
StackMap stack: java.lang.String int
6: invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 3
start local 3 7: new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".jmx."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "MBean"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
start local 4 8: aload 0
aload 4
invokestatic org.eclipse.jetty.util.Loader.loadClass:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Class;
astore 5
start local 5 9: ldc Ljavax/management/modelmbean/ModelMBean;
aload 5
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 11
10: aload 5
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
goto 12
11: StackMap locals: java.lang.String java.lang.String java.lang.Class
StackMap stack:
aload 5
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/Object;
aastore
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
12: StackMap locals:
StackMap stack: java.lang.reflect.Constructor
astore 6
start local 6 13: getstatic org.eclipse.jetty.jmx.MBeanContainer.LOG:Lorg/eclipse/jetty/util/log/Logger;
invokeinterface org.eclipse.jetty.util.log.Logger.isDebugEnabled:()Z
ifeq 15
14: getstatic org.eclipse.jetty.jmx.MBeanContainer.LOG:Lorg/eclipse/jetty/util/log/Logger;
ldc "Found MBean wrapper: {} for {}"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 4
aastore
dup
iconst_1
aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aastore
invokeinterface org.eclipse.jetty.util.log.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
15: StackMap locals: java.lang.reflect.Constructor
StackMap stack:
aload 6
16: areturn
end local 6 end local 5 17: StackMap locals: java.lang.Class java.lang.Package java.lang.String java.lang.String java.lang.String
StackMap stack: java.lang.Throwable
pop
18: getstatic org.eclipse.jetty.jmx.MBeanContainer.LOG:Lorg/eclipse/jetty/util/log/Logger;
invokeinterface org.eclipse.jetty.util.log.Logger.isDebugEnabled:()Z
ifeq 20
19: getstatic org.eclipse.jetty.jmx.MBeanContainer.LOG:Lorg/eclipse/jetty/util/log/Logger;
ldc "MBean wrapper not found: {} for {}"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 4
aastore
dup
iconst_1
aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aastore
invokeinterface org.eclipse.jetty.util.log.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
20: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 klass Ljava/lang/Class<*>;
1 21 1 pkg Ljava/lang/Package;
4 21 2 pName Ljava/lang/String;
7 21 3 cName Ljava/lang/String;
8 21 4 mName Ljava/lang/String;
9 17 5 mbeanClass Ljava/lang/Class<*>;
13 17 6 constructor Ljava/lang/reflect/Constructor<*>;
Exception table:
from to target type
8 16 17 Class java.lang.Throwable
Signature: (Ljava/lang/Class<*>;)Ljava/lang/reflect/Constructor<*>;
MethodParameters:
Name Flags
klass
public javax.management.ObjectName findMBean(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljavax/management/ObjectName;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.eclipse.jetty.jmx.MBeanContainer._mbeans:Ljava/util/concurrent/ConcurrentMap;
aload 1
invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast javax.management.ObjectName
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jetty/jmx/MBeanContainer;
0 1 1 object Ljava/lang/Object;
MethodParameters:
Name Flags
object
public java.lang.Object findBean(javax.management.ObjectName);
descriptor: (Ljavax/management/ObjectName;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.eclipse.jetty.jmx.MBeanContainer._mbeans:Ljava/util/concurrent/ConcurrentMap;
invokeinterface java.util.concurrent.ConcurrentMap.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
goto 4
StackMap locals: org.eclipse.jetty.jmx.MBeanContainer javax.management.ObjectName top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 2
start local 2 2: aload 2
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast javax.management.ObjectName
aload 1
invokevirtual javax.management.ObjectName.equals:(Ljava/lang/Object;)Z
ifeq 4
3: aload 2
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
areturn
end local 2 4: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
5: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/eclipse/jetty/jmx/MBeanContainer;
0 6 1 objectName Ljavax/management/ObjectName;
2 4 2 entry Ljava/util/Map$Entry<Ljava/lang/Object;Ljavax/management/ObjectName;>;
MethodParameters:
Name Flags
objectName
public void beanAdded(org.eclipse.jetty.util.component.Container, java.lang.Object);
descriptor: (Lorg/eclipse/jetty/util/component/Container;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=16, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.eclipse.jetty.jmx.MBeanContainer.LOG:Lorg/eclipse/jetty/util/log/Logger;
invokeinterface org.eclipse.jetty.util.log.Logger.isDebugEnabled:()Z
ifeq 2
1: getstatic org.eclipse.jetty.jmx.MBeanContainer.LOG:Lorg/eclipse/jetty/util/log/Logger;
ldc "beanAdded {}->{}"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 2
aastore
invokeinterface org.eclipse.jetty.util.log.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
aload 2
ifnonnull 4
3: return
4: StackMap locals:
StackMap stack:
aload 1
ifnonnull 6
5: getstatic org.eclipse.jetty.jmx.MBeanContainer.ROOT:Lorg/eclipse/jetty/util/component/Container;
astore 1
6: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.jmx.MBeanContainer._beans:Ljava/util/concurrent/ConcurrentMap;
aload 2
aload 1
invokeinterface java.util.concurrent.ConcurrentMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
ifnull 8
7: return
8: StackMap locals:
StackMap stack:
aconst_null
astore 3
start local 3 9: aload 1
getstatic org.eclipse.jetty.jmx.MBeanContainer.ROOT:Lorg/eclipse/jetty/util/component/Container;
if_acmpeq 14
10: aload 0
aload 1
invokevirtual org.eclipse.jetty.jmx.MBeanContainer.findMBean:(Ljava/lang/Object;)Ljavax/management/ObjectName;
astore 3
11: aload 3
ifnonnull 14
12: aload 0
aconst_null
aload 1
invokevirtual org.eclipse.jetty.jmx.MBeanContainer.beanAdded:(Lorg/eclipse/jetty/util/component/Container;Ljava/lang/Object;)V
13: aload 0
aload 1
invokevirtual org.eclipse.jetty.jmx.MBeanContainer.findMBean:(Ljava/lang/Object;)Ljavax/management/ObjectName;
astore 3
14: StackMap locals: javax.management.ObjectName
StackMap stack:
aload 0
aload 2
invokevirtual org.eclipse.jetty.jmx.MBeanContainer.mbeanFor:(Ljava/lang/Object;)Ljava/lang/Object;
astore 4
start local 4 15: aload 4
ifnonnull 17
16: return
17: StackMap locals: java.lang.Object
StackMap stack:
aconst_null
astore 5
start local 5 18: aload 4
instanceof org.eclipse.jetty.jmx.ObjectMBean
ifeq 20
19: aload 4
checkcast org.eclipse.jetty.jmx.ObjectMBean
invokevirtual org.eclipse.jetty.jmx.ObjectMBean.getObjectName:()Ljavax/management/ObjectName;
astore 5
20: StackMap locals: javax.management.ObjectName
StackMap stack:
aload 5
ifnonnull 57
21: aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
astore 6
start local 6 22: goto 24
23: StackMap locals: java.lang.Class
StackMap stack:
aload 6
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
astore 6
24: StackMap locals:
StackMap stack:
aload 6
invokevirtual java.lang.Class.isArray:()Z
ifne 23
25: aload 0
getfield org.eclipse.jetty.jmx.MBeanContainer._domain:Ljava/lang/String;
astore 7
start local 7 26: aload 7
ifnonnull 31
27: aload 6
invokevirtual java.lang.Class.getPackage:()Ljava/lang/Package;
astore 8
start local 8 28: aload 8
ifnonnull 29
ldc ""
goto 30
StackMap locals: java.lang.String java.lang.Package
StackMap stack:
29: aload 8
invokevirtual java.lang.Package.getName:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
30: astore 7
end local 8 31: StackMap locals:
StackMap stack:
aload 6
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
astore 8
start local 8 32: aload 8
bipush 46
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 9
start local 9 33: iload 9
iflt 35
34: aload 8
iload 9
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 8
35: StackMap locals: java.lang.String int
StackMap stack:
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 10
start local 10 36: aload 4
instanceof org.eclipse.jetty.jmx.ObjectMBean
ifeq 37
aload 0
aload 4
checkcast org.eclipse.jetty.jmx.ObjectMBean
invokevirtual org.eclipse.jetty.jmx.ObjectMBean.getObjectContextBasis:()Ljava/lang/String;
invokevirtual org.eclipse.jetty.jmx.MBeanContainer.makeName:(Ljava/lang/String;)Ljava/lang/String;
goto 38
StackMap locals: java.lang.StringBuilder
StackMap stack:
37: aconst_null
StackMap locals:
StackMap stack: java.lang.String
38: astore 11
start local 11 39: aload 11
ifnonnull 41
aload 3
ifnull 41
40: aload 3
ldc "context"
invokevirtual javax.management.ObjectName.getKeyProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 11
41: StackMap locals: java.lang.String
StackMap stack:
aload 11
ifnull 43
aload 11
invokevirtual java.lang.String.length:()I
iconst_1
if_icmple 43
42: aload 10
ldc "context="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 11
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ","
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
43: StackMap locals:
StackMap stack:
aload 10
ldc "type="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
44: aload 4
instanceof org.eclipse.jetty.jmx.ObjectMBean
ifeq 45
aload 0
aload 4
checkcast org.eclipse.jetty.jmx.ObjectMBean
invokevirtual org.eclipse.jetty.jmx.ObjectMBean.getObjectNameBasis:()Ljava/lang/String;
invokevirtual org.eclipse.jetty.jmx.MBeanContainer.makeName:(Ljava/lang/String;)Ljava/lang/String;
goto 46
StackMap locals:
StackMap stack:
45: aload 11
StackMap locals:
StackMap stack: java.lang.String
46: astore 12
start local 12 47: aload 12
ifnull 49
aload 12
invokevirtual java.lang.String.length:()I
iconst_1
if_icmple 49
48: aload 10
ldc ","
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "name="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 12
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
49: StackMap locals: java.lang.String
StackMap stack:
aload 10
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 13
start local 13 50: getstatic org.eclipse.jetty.jmx.MBeanContainer.__unique:Ljava/util/concurrent/ConcurrentMap;
aload 13
invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.concurrent.atomic.AtomicInteger
astore 14
start local 14 51: aload 14
ifnonnull 56
52: new java.util.concurrent.atomic.AtomicInteger
dup
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
astore 14
53: getstatic org.eclipse.jetty.jmx.MBeanContainer.__unique:Ljava/util/concurrent/ConcurrentMap;
aload 13
aload 14
invokeinterface java.util.concurrent.ConcurrentMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.concurrent.atomic.AtomicInteger
astore 15
start local 15 54: aload 15
ifnull 56
55: aload 15
astore 14
end local 15 56: StackMap locals: java.lang.String java.util.concurrent.atomic.AtomicInteger
StackMap stack:
new java.lang.StringBuilder
dup
aload 7
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 13
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ",id="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 14
invokevirtual java.util.concurrent.atomic.AtomicInteger.getAndIncrement:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic javax.management.ObjectName.getInstance:(Ljava/lang/String;)Ljavax/management/ObjectName;
astore 5
end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 57: StackMap locals: org.eclipse.jetty.jmx.MBeanContainer org.eclipse.jetty.util.component.Container java.lang.Object javax.management.ObjectName java.lang.Object javax.management.ObjectName
StackMap stack:
aload 0
getfield org.eclipse.jetty.jmx.MBeanContainer._mbeanServer:Ljavax/management/MBeanServer;
aload 4
aload 5
invokeinterface javax.management.MBeanServer.registerMBean:(Ljava/lang/Object;Ljavax/management/ObjectName;)Ljavax/management/ObjectInstance;
pop
58: getstatic org.eclipse.jetty.jmx.MBeanContainer.LOG:Lorg/eclipse/jetty/util/log/Logger;
invokeinterface org.eclipse.jetty.util.log.Logger.isDebugEnabled:()Z
ifeq 60
59: getstatic org.eclipse.jetty.jmx.MBeanContainer.LOG:Lorg/eclipse/jetty/util/log/Logger;
ldc "Registered {}"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 5
aastore
invokeinterface org.eclipse.jetty.util.log.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
60: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.jmx.MBeanContainer._mbeans:Ljava/util/concurrent/ConcurrentMap;
aload 2
aload 5
invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 5 end local 4 61: goto 64
62: StackMap locals: org.eclipse.jetty.jmx.MBeanContainer org.eclipse.jetty.util.component.Container java.lang.Object javax.management.ObjectName
StackMap stack: java.lang.Throwable
astore 4
start local 4 63: getstatic org.eclipse.jetty.jmx.MBeanContainer.LOG:Lorg/eclipse/jetty/util/log/Logger;
new java.lang.StringBuilder
dup
ldc "bean: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 4
invokeinterface org.eclipse.jetty.util.log.Logger.warn:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 4 64: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 65 0 this Lorg/eclipse/jetty/jmx/MBeanContainer;
0 65 1 parent Lorg/eclipse/jetty/util/component/Container;
0 65 2 obj Ljava/lang/Object;
9 65 3 parentObjectName Ljavax/management/ObjectName;
15 61 4 mbean Ljava/lang/Object;
18 61 5 objectName Ljavax/management/ObjectName;
22 57 6 klass Ljava/lang/Class<*>;
26 57 7 domain Ljava/lang/String;
28 31 8 pkg Ljava/lang/Package;
32 57 8 type Ljava/lang/String;
33 57 9 dot I
36 57 10 buf Ljava/lang/StringBuilder;
39 57 11 context Ljava/lang/String;
47 57 12 name Ljava/lang/String;
50 57 13 basis Ljava/lang/String;
51 57 14 count Ljava/util/concurrent/atomic/AtomicInteger;
54 56 15 existing Ljava/util/concurrent/atomic/AtomicInteger;
63 64 4 x Ljava/lang/Throwable;
Exception table:
from to target type
14 16 62 Class java.lang.Throwable
17 61 62 Class java.lang.Throwable
MethodParameters:
Name Flags
parent
obj
public void beanRemoved(org.eclipse.jetty.util.component.Container, java.lang.Object);
descriptor: (Lorg/eclipse/jetty/util/component/Container;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.eclipse.jetty.jmx.MBeanContainer.LOG:Lorg/eclipse/jetty/util/log/Logger;
invokeinterface org.eclipse.jetty.util.log.Logger.isDebugEnabled:()Z
ifeq 2
1: getstatic org.eclipse.jetty.jmx.MBeanContainer.LOG:Lorg/eclipse/jetty/util/log/Logger;
ldc "beanRemoved {}->{}"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 2
aastore
invokeinterface org.eclipse.jetty.util.log.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
aload 1
ifnonnull 4
3: getstatic org.eclipse.jetty.jmx.MBeanContainer.ROOT:Lorg/eclipse/jetty/util/component/Container;
astore 1
4: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.jmx.MBeanContainer._beans:Ljava/util/concurrent/ConcurrentMap;
aload 2
aload 1
invokeinterface java.util.concurrent.ConcurrentMap.remove:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 8
5: aload 0
getfield org.eclipse.jetty.jmx.MBeanContainer._mbeans:Ljava/util/concurrent/ConcurrentMap;
aload 2
invokeinterface java.util.concurrent.ConcurrentMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast javax.management.ObjectName
astore 3
start local 3 6: aload 3
ifnull 8
7: aload 0
aload 3
invokevirtual org.eclipse.jetty.jmx.MBeanContainer.unregister:(Ljavax/management/ObjectName;)V
end local 3 8: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/eclipse/jetty/jmx/MBeanContainer;
0 9 1 parent Lorg/eclipse/jetty/util/component/Container;
0 9 2 obj Ljava/lang/Object;
6 8 3 objectName Ljavax/management/ObjectName;
MethodParameters:
Name Flags
parent
obj
public java.lang.String makeName(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic org.eclipse.jetty.util.StringUtil.sanitizeFileSystemName:(Ljava/lang/String;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jetty/jmx/MBeanContainer;
0 1 1 basis Ljava/lang/String;
MethodParameters:
Name Flags
basis
public void dump(java.lang.Appendable, java.lang.String);
descriptor: (Ljava/lang/Appendable;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
aload 0
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield org.eclipse.jetty.jmx.MBeanContainer._mbeans:Ljava/util/concurrent/ConcurrentMap;
invokeinterface java.util.concurrent.ConcurrentMap.entrySet:()Ljava/util/Set;
aastore
invokestatic org.eclipse.jetty.util.component.Dumpable.dumpObjects:(Ljava/lang/Appendable;Ljava/lang/String;Ljava/lang/Object;[Ljava/lang/Object;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jetty/jmx/MBeanContainer;
0 2 1 out Ljava/lang/Appendable;
0 2 2 indent Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
out
indent
public java.lang.String dump();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic org.eclipse.jetty.util.component.Dumpable.dump:(Lorg/eclipse/jetty/util/component/Dumpable;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jetty/jmx/MBeanContainer;
public void destroy();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.jmx.MBeanContainer._metaData:Ljava/util/concurrent/ConcurrentMap;
invokeinterface java.util.concurrent.ConcurrentMap.clear:()V
1: aload 0
getfield org.eclipse.jetty.jmx.MBeanContainer._mbeans:Ljava/util/concurrent/ConcurrentMap;
invokeinterface java.util.concurrent.ConcurrentMap.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
2: invokedynamic test()Ljava/util/function/Predicate;
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;)Z
java/util/Objects.nonNull(Ljava/lang/Object;)Z (6)
(Ljavax/management/ObjectName;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
3: aload 0
invokedynamic accept(Lorg/eclipse/jetty/jmx/MBeanContainer;)Ljava/util/function/Consumer;
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;)V
org/eclipse/jetty/jmx/MBeanContainer.unregister(Ljavax/management/ObjectName;)V (7)
(Ljavax/management/ObjectName;)V
invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
4: aload 0
getfield org.eclipse.jetty.jmx.MBeanContainer._mbeans:Ljava/util/concurrent/ConcurrentMap;
invokeinterface java.util.concurrent.ConcurrentMap.clear:()V
5: aload 0
getfield org.eclipse.jetty.jmx.MBeanContainer._beans:Ljava/util/concurrent/ConcurrentMap;
invokeinterface java.util.concurrent.ConcurrentMap.clear:()V
6: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/eclipse/jetty/jmx/MBeanContainer;
private void unregister(javax.management.ObjectName);
descriptor: (Ljavax/management/ObjectName;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.eclipse.jetty.jmx.MBeanContainer.getMBeanServer:()Ljavax/management/MBeanServer;
aload 1
invokeinterface javax.management.MBeanServer.unregisterMBean:(Ljavax/management/ObjectName;)V
1: getstatic org.eclipse.jetty.jmx.MBeanContainer.LOG:Lorg/eclipse/jetty/util/log/Logger;
invokeinterface org.eclipse.jetty.util.log.Logger.isDebugEnabled:()Z
ifeq 9
2: getstatic org.eclipse.jetty.jmx.MBeanContainer.LOG:Lorg/eclipse/jetty/util/log/Logger;
ldc "Unregistered {}"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokeinterface org.eclipse.jetty.util.log.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
3: goto 9
4: StackMap locals:
StackMap stack: javax.management.JMException
astore 2
start local 2 5: getstatic org.eclipse.jetty.jmx.MBeanContainer.LOG:Lorg/eclipse/jetty/util/log/Logger;
aload 2
invokeinterface org.eclipse.jetty.util.log.Logger.ignore:(Ljava/lang/Throwable;)V
end local 2 6: goto 9
7: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
start local 2 8: getstatic org.eclipse.jetty.jmx.MBeanContainer.LOG:Lorg/eclipse/jetty/util/log/Logger;
aload 2
invokeinterface org.eclipse.jetty.util.log.Logger.warn:(Ljava/lang/Throwable;)V
end local 2 9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/eclipse/jetty/jmx/MBeanContainer;
0 10 1 objectName Ljavax/management/ObjectName;
5 6 2 x Ljavax/management/JMException;
8 9 2 x Ljava/lang/Throwable;
Exception table:
from to target type
0 3 4 Class javax.management.MBeanRegistrationException
0 3 4 Class javax.management.InstanceNotFoundException
0 3 7 Class java.lang.Throwable
MethodParameters:
Name Flags
objectName
private static org.eclipse.jetty.jmx.MetaData lambda$0(org.eclipse.jetty.jmx.MBeanContainer, java.lang.Class);
descriptor: (Lorg/eclipse/jetty/jmx/MBeanContainer;Ljava/lang/Class;)Lorg/eclipse/jetty/jmx/MetaData;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 0
aload 1
invokestatic org.eclipse.jetty.jmx.MBeanContainer.findMetaData:(Lorg/eclipse/jetty/jmx/MBeanContainer;Ljava/lang/Class;)Lorg/eclipse/jetty/jmx/MetaData;
areturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 intf Ljava/lang/Class<*>;
}
SourceFile: "MBeanContainer.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Entry = java.util.Map$Entry of java.util.Map
public abstract InheritedListener = org.eclipse.jetty.util.component.Container$InheritedListener of org.eclipse.jetty.util.component.Container
RuntimeVisibleAnnotations:
org.eclipse.jetty.util.annotation.ManagedObject(value = "The component that registers beans as MBeans")