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.slf4j.Logger LOG;
descriptor: Lorg/slf4j/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.slf4j.LoggerFactory.getLogger:(Ljava/lang/String;)Lorg/slf4j/Logger;
putstatic org.eclipse.jetty.jmx.MBeanContainer.LOG:Lorg/slf4j/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=4, locals=12, 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
instanceof javax.management.DynamicMBean
ifeq 4
3: aload 1
areturn
4: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
astore 2
start local 2 5: goto 20
6: StackMap locals: java.lang.Class
StackMap stack:
aload 2
ldc Ljavax/management/MXBean;
invokevirtual java.lang.Class.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast javax.management.MXBean
astore 3
start local 3 7: aload 3
ifnull 9
aload 3
invokeinterface javax.management.MXBean.value:()Z
ifeq 9
8: aload 1
areturn
9: StackMap locals: javax.management.MXBean
StackMap stack:
new java.lang.StringBuilder
dup
aload 2
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "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 10: new java.lang.StringBuilder
dup
aload 2
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "MXBean"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
start local 5 11: aload 2
invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
astore 6
start local 6 12: aload 6
dup
astore 10
arraylength
istore 9
iconst_0
istore 8
goto 18
StackMap locals: org.eclipse.jetty.jmx.MBeanContainer java.lang.Object java.lang.Class javax.management.MXBean java.lang.String java.lang.String java.lang.Class[] top int int java.lang.Class[]
StackMap stack:
13: aload 10
iload 8
aaload
astore 7
start local 7 14: aload 7
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
astore 11
start local 11 15: aload 11
aload 4
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 16
aload 11
aload 5
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 17
16: StackMap locals: org.eclipse.jetty.jmx.MBeanContainer java.lang.Object java.lang.Class javax.management.MXBean java.lang.String java.lang.String java.lang.Class[] java.lang.Class int int java.lang.Class[] java.lang.String
StackMap stack:
aload 1
areturn
end local 11 end local 7 17: StackMap locals: org.eclipse.jetty.jmx.MBeanContainer java.lang.Object java.lang.Class javax.management.MXBean java.lang.String java.lang.String java.lang.Class[] top int int java.lang.Class[]
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
18: iload 8
iload 9
if_icmplt 13
19: aload 2
invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
astore 2
end local 6 end local 5 end local 4 end local 3 20: StackMap locals: org.eclipse.jetty.jmx.MBeanContainer java.lang.Object java.lang.Class
StackMap stack:
aload 2
ldc Ljava/lang/Object;
if_acmpne 6
21: 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 3
start local 3 22: aload 3
instanceof org.eclipse.jetty.jmx.ObjectMBean
ifeq 24
23: aload 3
checkcast org.eclipse.jetty.jmx.ObjectMBean
aload 0
invokevirtual org.eclipse.jetty.jmx.ObjectMBean.setMBeanContainer:(Lorg/eclipse/jetty/jmx/MBeanContainer;)V
24: StackMap locals: java.lang.Object
StackMap stack:
getstatic org.eclipse.jetty.jmx.MBeanContainer.LOG:Lorg/slf4j/Logger;
invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
ifeq 38
25: getstatic org.eclipse.jetty.jmx.MBeanContainer.LOG:Lorg/slf4j/Logger;
ldc "MBean for {} is {}"
aload 1
aload 3
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
26: aload 3
instanceof org.eclipse.jetty.jmx.ObjectMBean
ifeq 38
27: aload 3
checkcast org.eclipse.jetty.jmx.ObjectMBean
invokevirtual org.eclipse.jetty.jmx.ObjectMBean.getMBeanInfo:()Ljavax/management/MBeanInfo;
astore 4
start local 4 28: aload 4
invokevirtual javax.management.MBeanInfo.getAttributes:()[Ljavax/management/MBeanAttributeInfo;
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 32
StackMap locals: org.eclipse.jetty.jmx.MBeanContainer java.lang.Object java.lang.Class java.lang.Object javax.management.MBeanInfo top int int java.lang.Object[]
StackMap stack:
29: aload 8
iload 6
aaload
astore 5
start local 5 30: getstatic org.eclipse.jetty.jmx.MBeanContainer.LOG:Lorg/slf4j/Logger;
ldc " {}"
aload 5
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
end local 5 31: iinc 6 1
StackMap locals:
StackMap stack:
32: iload 6
iload 7
if_icmplt 29
33: aload 4
invokevirtual javax.management.MBeanInfo.getOperations:()[Ljavax/management/MBeanOperationInfo;
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 37
StackMap locals:
StackMap stack:
34: aload 8
iload 6
aaload
astore 5
start local 5 35: getstatic org.eclipse.jetty.jmx.MBeanContainer.LOG:Lorg/slf4j/Logger;
ldc " {}"
aload 5
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
end local 5 36: iinc 6 1
StackMap locals:
StackMap stack:
37: iload 6
iload 7
if_icmplt 34
end local 4 38: StackMap locals: org.eclipse.jetty.jmx.MBeanContainer java.lang.Object java.lang.Class java.lang.Object
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 39 0 container Lorg/eclipse/jetty/jmx/MBeanContainer;
0 39 1 o Ljava/lang/Object;
5 39 2 klass Ljava/lang/Class<*>;
7 20 3 mxbean Ljavax/management/MXBean;
10 20 4 mbeanName Ljava/lang/String;
11 20 5 mxbeanName Ljava/lang/String;
12 20 6 interfaces [Ljava/lang/Class;
14 17 7 type Ljava/lang/Class<*>;
15 17 11 name Ljava/lang/String;
22 39 3 mbean Ljava/lang/Object;
28 38 4 info Ljavax/management/MBeanInfo;
30 31 5 a Ljava/lang/Object;
35 36 5 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=3, 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/slf4j/Logger;
invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
ifeq 6
5: getstatic org.eclipse.jetty.jmx.MBeanContainer.LOG:Lorg/slf4j/Logger;
ldc "Found cached {}"
aload 2
invokeinterface org.slf4j.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/slf4j/Logger;
invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
ifeq 16
15: getstatic org.eclipse.jetty.jmx.MBeanContainer.LOG:Lorg/slf4j/Logger;
ldc "Cached {}"
aload 3
invokeinterface org.slf4j.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=5, 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/slf4j/Logger;
invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
ifeq 15
14: getstatic org.eclipse.jetty.jmx.MBeanContainer.LOG:Lorg/slf4j/Logger;
ldc "Found MBean wrapper: {} for {}"
aload 4
aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;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/slf4j/Logger;
invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
ifeq 20
19: getstatic org.eclipse.jetty.jmx.MBeanContainer.LOG:Lorg/slf4j/Logger;
ldc "MBean wrapper not found: {} for {}"
aload 4
aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;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=4, locals=16, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.eclipse.jetty.jmx.MBeanContainer.LOG:Lorg/slf4j/Logger;
invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
ifeq 2
1: getstatic org.eclipse.jetty.jmx.MBeanContainer.LOG:Lorg/slf4j/Logger;
ldc "beanAdded {}->{}"
aload 1
aload 2
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;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 59
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 38
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 39
38: StackMap locals: java.lang.StringBuilder
StackMap stack:
aload 0
aload 0
aload 4
invokevirtual org.eclipse.jetty.jmx.MBeanContainer.reflectContextBasis:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual org.eclipse.jetty.jmx.MBeanContainer.makeName:(Ljava/lang/String;)Ljava/lang/String;
39: StackMap locals:
StackMap stack: java.lang.String
astore 11
start local 11 40: aload 11
ifnonnull 42
aload 3
ifnull 42
41: aload 3
ldc "context"
invokevirtual javax.management.ObjectName.getKeyProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 11
42: StackMap locals: java.lang.String
StackMap stack:
aload 11
ifnull 44
aload 11
invokevirtual java.lang.String.length:()I
iconst_1
if_icmple 44
43: 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
44: 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
45: aload 4
instanceof org.eclipse.jetty.jmx.ObjectMBean
ifeq 47
46: 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 48
47: StackMap locals:
StackMap stack:
aload 0
aload 0
aload 4
invokevirtual org.eclipse.jetty.jmx.MBeanContainer.reflectNameBasis:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual org.eclipse.jetty.jmx.MBeanContainer.makeName:(Ljava/lang/String;)Ljava/lang/String;
48: StackMap locals:
StackMap stack: java.lang.String
astore 12
start local 12 49: aload 12
ifnull 51
aload 12
invokevirtual java.lang.String.length:()I
iconst_1
if_icmple 51
50: 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
51: StackMap locals: java.lang.String
StackMap stack:
aload 10
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 13
start local 13 52: 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 53: aload 14
ifnonnull 58
54: new java.util.concurrent.atomic.AtomicInteger
dup
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
astore 14
55: 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 56: aload 15
ifnull 58
57: aload 15
astore 14
end local 15 58: 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 59: 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
60: getstatic org.eclipse.jetty.jmx.MBeanContainer.LOG:Lorg/slf4j/Logger;
invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
ifeq 62
61: getstatic org.eclipse.jetty.jmx.MBeanContainer.LOG:Lorg/slf4j/Logger;
ldc "Registered {}"
aload 5
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
62: 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 63: goto 66
64: 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 65: getstatic org.eclipse.jetty.jmx.MBeanContainer.LOG:Lorg/slf4j/Logger;
ldc "bean: {}"
aload 2
aload 4
invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
end local 4 66: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 67 0 this Lorg/eclipse/jetty/jmx/MBeanContainer;
0 67 1 parent Lorg/eclipse/jetty/util/component/Container;
0 67 2 obj Ljava/lang/Object;
9 67 3 parentObjectName Ljavax/management/ObjectName;
15 63 4 mbean Ljava/lang/Object;
18 63 5 objectName Ljavax/management/ObjectName;
22 59 6 klass Ljava/lang/Class<*>;
26 59 7 domain Ljava/lang/String;
28 31 8 pkg Ljava/lang/Package;
32 59 8 type Ljava/lang/String;
33 59 9 dot I
36 59 10 buf Ljava/lang/StringBuilder;
40 59 11 context Ljava/lang/String;
49 59 12 name Ljava/lang/String;
52 59 13 basis Ljava/lang/String;
53 59 14 count Ljava/util/concurrent/atomic/AtomicInteger;
56 58 15 existing Ljava/util/concurrent/atomic/AtomicInteger;
65 66 4 x Ljava/lang/Throwable;
Exception table:
from to target type
14 16 64 Class java.lang.Throwable
17 63 64 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=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.eclipse.jetty.jmx.MBeanContainer.LOG:Lorg/slf4j/Logger;
invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
ifeq 2
1: getstatic org.eclipse.jetty.jmx.MBeanContainer.LOG:Lorg/slf4j/Logger;
ldc "beanRemoved {}->{}"
aload 1
aload 2
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;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
private java.lang.String reflectContextBasis(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
ldc "jmxContext"
invokevirtual org.eclipse.jetty.jmx.MBeanContainer.reflectBasis:(Ljava/lang/Object;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 mbean Ljava/lang/Object;
MethodParameters:
Name Flags
mbean
private java.lang.String reflectNameBasis(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
ldc "jmxName"
invokevirtual org.eclipse.jetty.jmx.MBeanContainer.reflectBasis:(Ljava/lang/Object;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 mbean Ljava/lang/Object;
MethodParameters:
Name Flags
mbean
private java.lang.String reflectBasis(java.lang.Object, java.lang.String);
descriptor: (Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aload 2
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
aload 1
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
1: areturn
2: StackMap locals:
StackMap stack: java.lang.Throwable
pop
3: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/eclipse/jetty/jmx/MBeanContainer;
0 4 1 mbean Ljava/lang/Object;
0 4 2 methodName Ljava/lang/String;
Exception table:
from to target type
0 1 2 Class java.lang.Throwable
MethodParameters:
Name Flags
mbean
methodName
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=4, 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/slf4j/Logger;
invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
ifeq 9
2: getstatic org.eclipse.jetty.jmx.MBeanContainer.LOG:Lorg/slf4j/Logger;
ldc "Unregistered {}"
aload 1
invokeinterface org.slf4j.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/slf4j/Logger;
ldc "IGNORED"
aload 2
invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;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/slf4j/Logger;
ldc "Unable to unregister {}"
aload 1
aload 2
invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)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")