public class org.springframework.jmx.export.MBeanExporter extends org.springframework.jmx.support.MBeanRegistrationSupport implements org.springframework.jmx.export.MBeanExportOperations, org.springframework.beans.factory.BeanClassLoaderAware, org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.InitializingBean, org.springframework.beans.factory.SmartInitializingSingleton, org.springframework.beans.factory.DisposableBean
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.springframework.jmx.export.MBeanExporter
super_class: org.springframework.jmx.support.MBeanRegistrationSupport
{
public static final int AUTODETECT_NONE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 0
public static final int AUTODETECT_MBEAN;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int AUTODETECT_ASSEMBLER;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
public static final int AUTODETECT_ALL;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private static final java.lang.String WILDCARD;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "*"
private static final java.lang.String MR_TYPE_OBJECT_REFERENCE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "ObjectReference"
private static final java.lang.String CONSTANT_PREFIX_AUTODETECT;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "AUTODETECT_"
private static final org.springframework.core.Constants constants;
descriptor: Lorg/springframework/core/Constants;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private java.util.Map<java.lang.String, java.lang.Object> beans;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private java.lang.Integer autodetectMode;
descriptor: Ljava/lang/Integer;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private boolean allowEagerInit;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private org.springframework.jmx.export.assembler.MBeanInfoAssembler assembler;
descriptor: Lorg/springframework/jmx/export/assembler/MBeanInfoAssembler;
flags: (0x0002) ACC_PRIVATE
private org.springframework.jmx.export.naming.ObjectNamingStrategy namingStrategy;
descriptor: Lorg/springframework/jmx/export/naming/ObjectNamingStrategy;
flags: (0x0002) ACC_PRIVATE
private boolean ensureUniqueRuntimeObjectNames;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean exposeManagedResourceClassLoader;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.util.Set<java.lang.String> excludedBeans;
descriptor: Ljava/util/Set;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Set<Ljava/lang/String;>;
private org.springframework.jmx.export.MBeanExporterListener[] listeners;
descriptor: [Lorg/springframework/jmx/export/MBeanExporterListener;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private org.springframework.jmx.export.NotificationListenerBean[] notificationListeners;
descriptor: [Lorg/springframework/jmx/export/NotificationListenerBean;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private final java.util.Map<org.springframework.jmx.export.NotificationListenerBean, javax.management.ObjectName[]> registeredNotificationListeners;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Lorg/springframework/jmx/export/NotificationListenerBean;[Ljavax/management/ObjectName;>;
private java.lang.ClassLoader beanClassLoader;
descriptor: Ljava/lang/ClassLoader;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private org.springframework.beans.factory.ListableBeanFactory beanFactory;
descriptor: Lorg/springframework/beans/factory/ListableBeanFactory;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new org.springframework.core.Constants
dup
ldc Lorg/springframework/jmx/export/MBeanExporter;
invokespecial org.springframework.core.Constants.<init>:(Ljava/lang/Class;)V
putstatic org.springframework.jmx.export.MBeanExporter.constants:Lorg/springframework/core/Constants;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.springframework.jmx.support.MBeanRegistrationSupport.<init>:()V
1: aload 0
iconst_0
putfield org.springframework.jmx.export.MBeanExporter.allowEagerInit:Z
2: aload 0
new org.springframework.jmx.export.assembler.SimpleReflectiveMBeanInfoAssembler
dup
invokespecial org.springframework.jmx.export.assembler.SimpleReflectiveMBeanInfoAssembler.<init>:()V
putfield org.springframework.jmx.export.MBeanExporter.assembler:Lorg/springframework/jmx/export/assembler/MBeanInfoAssembler;
3: aload 0
new org.springframework.jmx.export.naming.KeyNamingStrategy
dup
invokespecial org.springframework.jmx.export.naming.KeyNamingStrategy.<init>:()V
putfield org.springframework.jmx.export.MBeanExporter.namingStrategy:Lorg/springframework/jmx/export/naming/ObjectNamingStrategy;
4: aload 0
iconst_1
putfield org.springframework.jmx.export.MBeanExporter.ensureUniqueRuntimeObjectNames:Z
5: aload 0
iconst_1
putfield org.springframework.jmx.export.MBeanExporter.exposeManagedResourceClassLoader:Z
6: aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield org.springframework.jmx.export.MBeanExporter.excludedBeans:Ljava/util/Set;
7: aload 0
new java.util.LinkedHashMap
dup
invokespecial java.util.LinkedHashMap.<init>:()V
putfield org.springframework.jmx.export.MBeanExporter.registeredNotificationListeners:Ljava/util/Map;
8: aload 0
invokestatic org.springframework.util.ClassUtils.getDefaultClassLoader:()Ljava/lang/ClassLoader;
putfield org.springframework.jmx.export.MBeanExporter.beanClassLoader:Ljava/lang/ClassLoader;
9: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/springframework/jmx/export/MBeanExporter;
public void setBeans(java.util.Map<java.lang.String, java.lang.Object>);
descriptor: (Ljava/util/Map;)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.springframework.jmx.export.MBeanExporter.beans:Ljava/util/Map;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/jmx/export/MBeanExporter;
0 2 1 beans Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;)V
MethodParameters:
Name Flags
beans
public void setAutodetect(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
ifeq 1
iconst_3
goto 2
StackMap locals:
StackMap stack: org.springframework.jmx.export.MBeanExporter
1: iconst_0
StackMap locals: org.springframework.jmx.export.MBeanExporter int
StackMap stack: org.springframework.jmx.export.MBeanExporter int
2: invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
putfield org.springframework.jmx.export.MBeanExporter.autodetectMode:Ljava/lang/Integer;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/jmx/export/MBeanExporter;
0 4 1 autodetect Z
MethodParameters:
Name Flags
autodetect
public void setAutodetectMode(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: getstatic org.springframework.jmx.export.MBeanExporter.constants:Lorg/springframework/core/Constants;
ldc "AUTODETECT_"
invokevirtual org.springframework.core.Constants.getValues:(Ljava/lang/String;)Ljava/util/Set;
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 2
1: new java.lang.IllegalArgumentException
dup
ldc "Only values of autodetect constants allowed"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
putfield org.springframework.jmx.export.MBeanExporter.autodetectMode:Ljava/lang/Integer;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/jmx/export/MBeanExporter;
0 4 1 autodetectMode I
MethodParameters:
Name Flags
autodetectMode
public void setAutodetectModeName(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc "AUTODETECT_"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 2
1: new java.lang.IllegalArgumentException
dup
ldc "Only autodetect constants allowed"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getstatic org.springframework.jmx.export.MBeanExporter.constants:Lorg/springframework/core/Constants;
aload 1
invokevirtual org.springframework.core.Constants.asNumber:(Ljava/lang/String;)Ljava/lang/Number;
checkcast java.lang.Integer
putfield org.springframework.jmx.export.MBeanExporter.autodetectMode:Ljava/lang/Integer;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/jmx/export/MBeanExporter;
0 4 1 constantName Ljava/lang/String;
MethodParameters:
Name Flags
constantName
public void setAllowEagerInit(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.springframework.jmx.export.MBeanExporter.allowEagerInit:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/jmx/export/MBeanExporter;
0 2 1 allowEagerInit Z
MethodParameters:
Name Flags
allowEagerInit
public void setAssembler(org.springframework.jmx.export.assembler.MBeanInfoAssembler);
descriptor: (Lorg/springframework/jmx/export/assembler/MBeanInfoAssembler;)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.springframework.jmx.export.MBeanExporter.assembler:Lorg/springframework/jmx/export/assembler/MBeanInfoAssembler;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/jmx/export/MBeanExporter;
0 2 1 assembler Lorg/springframework/jmx/export/assembler/MBeanInfoAssembler;
MethodParameters:
Name Flags
assembler
public void setNamingStrategy(org.springframework.jmx.export.naming.ObjectNamingStrategy);
descriptor: (Lorg/springframework/jmx/export/naming/ObjectNamingStrategy;)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.springframework.jmx.export.MBeanExporter.namingStrategy:Lorg/springframework/jmx/export/naming/ObjectNamingStrategy;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/jmx/export/MBeanExporter;
0 2 1 namingStrategy Lorg/springframework/jmx/export/naming/ObjectNamingStrategy;
MethodParameters:
Name Flags
namingStrategy
public void setEnsureUniqueRuntimeObjectNames(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.springframework.jmx.export.MBeanExporter.ensureUniqueRuntimeObjectNames:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/jmx/export/MBeanExporter;
0 2 1 ensureUniqueRuntimeObjectNames Z
MethodParameters:
Name Flags
ensureUniqueRuntimeObjectNames
public void setExposeManagedResourceClassLoader(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.springframework.jmx.export.MBeanExporter.exposeManagedResourceClassLoader:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/jmx/export/MBeanExporter;
0 2 1 exposeManagedResourceClassLoader Z
MethodParameters:
Name Flags
exposeManagedResourceClassLoader
public void setExcludedBeans(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.springframework.jmx.export.MBeanExporter.excludedBeans:Ljava/util/Set;
invokeinterface java.util.Set.clear:()V
1: aload 0
getfield org.springframework.jmx.export.MBeanExporter.excludedBeans:Ljava/util/Set;
aload 1
invokestatic java.util.Collections.addAll:(Ljava/util/Collection;[Ljava/lang/Object;)Z
pop
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/jmx/export/MBeanExporter;
0 3 1 excludedBeans [Ljava/lang/String;
MethodParameters:
Name Flags
excludedBeans
public void addExcludedBean(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 1
ldc "ExcludedBean must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: aload 0
getfield org.springframework.jmx.export.MBeanExporter.excludedBeans:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/jmx/export/MBeanExporter;
0 3 1 excludedBean Ljava/lang/String;
MethodParameters:
Name Flags
excludedBean
public void setListeners(org.springframework.jmx.export.MBeanExporterListener[]);
descriptor: ([Lorg/springframework/jmx/export/MBeanExporterListener;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.springframework.jmx.export.MBeanExporter.listeners:[Lorg/springframework/jmx/export/MBeanExporterListener;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/jmx/export/MBeanExporter;
0 2 1 listeners [Lorg/springframework/jmx/export/MBeanExporterListener;
MethodParameters:
Name Flags
listeners
public void setNotificationListeners(org.springframework.jmx.export.NotificationListenerBean[]);
descriptor: ([Lorg/springframework/jmx/export/NotificationListenerBean;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.springframework.jmx.export.MBeanExporter.notificationListeners:[Lorg/springframework/jmx/export/NotificationListenerBean;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/jmx/export/MBeanExporter;
0 2 1 notificationListeners [Lorg/springframework/jmx/export/NotificationListenerBean;
MethodParameters:
Name Flags
notificationListeners
public void setNotificationListenerMappings(java.util.Map<?, ? extends javax.management.NotificationListener>);
descriptor: (Ljava/util/Map;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ldc "'listeners' must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: new java.util.ArrayList
dup
aload 1
invokeinterface java.util.Map.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
2: astore 2
start local 2 3: aload 1
aload 2
invokedynamic accept(Ljava/util/List;)Ljava/util/function/BiConsumer;
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;)V
org/springframework/jmx/export/MBeanExporter.lambda$0(Ljava/util/List;Ljava/lang/Object;Ljavax/management/NotificationListener;)V (6)
(Ljava/lang/Object;Ljavax/management/NotificationListener;)V
invokeinterface java.util.Map.forEach:(Ljava/util/function/BiConsumer;)V
4: aload 0
aload 2
iconst_0
anewarray org.springframework.jmx.export.NotificationListenerBean
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast org.springframework.jmx.export.NotificationListenerBean[]
putfield org.springframework.jmx.export.MBeanExporter.notificationListeners:[Lorg/springframework/jmx/export/NotificationListenerBean;
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/springframework/jmx/export/MBeanExporter;
0 6 1 listeners Ljava/util/Map<*+Ljavax/management/NotificationListener;>;
3 6 2 notificationListeners Ljava/util/List<Lorg/springframework/jmx/export/NotificationListenerBean;>;
Signature: (Ljava/util/Map<*+Ljavax/management/NotificationListener;>;)V
MethodParameters:
Name Flags
listeners
public void setBeanClassLoader(java.lang.ClassLoader);
descriptor: (Ljava/lang/ClassLoader;)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.springframework.jmx.export.MBeanExporter.beanClassLoader:Ljava/lang/ClassLoader;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/jmx/export/MBeanExporter;
0 2 1 classLoader Ljava/lang/ClassLoader;
MethodParameters:
Name Flags
classLoader
public void setBeanFactory(org.springframework.beans.factory.BeanFactory);
descriptor: (Lorg/springframework/beans/factory/BeanFactory;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof org.springframework.beans.factory.ListableBeanFactory
ifeq 3
1: aload 0
aload 1
checkcast org.springframework.beans.factory.ListableBeanFactory
putfield org.springframework.jmx.export.MBeanExporter.beanFactory:Lorg/springframework/beans/factory/ListableBeanFactory;
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.jmx.export.MBeanExporter.logger:Lorg/apache/commons/logging/Log;
ldc "MBeanExporter not running in a ListableBeanFactory: autodetection of MBeans not available."
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/springframework/jmx/export/MBeanExporter;
0 5 1 beanFactory Lorg/springframework/beans/factory/BeanFactory;
MethodParameters:
Name Flags
beanFactory
public void afterPropertiesSet();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.jmx.export.MBeanExporter.server:Ljavax/management/MBeanServer;
ifnonnull 2
1: aload 0
invokestatic org.springframework.jmx.support.JmxUtils.locateMBeanServer:()Ljavax/management/MBeanServer;
putfield org.springframework.jmx.export.MBeanExporter.server:Ljavax/management/MBeanServer;
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/jmx/export/MBeanExporter;
public void afterSingletonsInstantiated();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield org.springframework.jmx.export.MBeanExporter.logger:Lorg/apache/commons/logging/Log;
ldc "Registering beans for JMX exposure on startup"
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
1: aload 0
invokevirtual org.springframework.jmx.export.MBeanExporter.registerBeans:()V
2: aload 0
invokevirtual org.springframework.jmx.export.MBeanExporter.registerNotificationListeners:()V
3: goto 8
4: StackMap locals:
StackMap stack: java.lang.RuntimeException
astore 1
start local 1 5: aload 0
invokevirtual org.springframework.jmx.export.MBeanExporter.unregisterNotificationListeners:()V
6: aload 0
invokevirtual org.springframework.jmx.export.MBeanExporter.unregisterBeans:()V
7: aload 1
athrow
end local 1 8: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/springframework/jmx/export/MBeanExporter;
5 8 1 ex Ljava/lang/RuntimeException;
Exception table:
from to target type
0 3 4 Class java.lang.RuntimeException
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.springframework.jmx.export.MBeanExporter.logger:Lorg/apache/commons/logging/Log;
ldc "Unregistering JMX-exposed beans on shutdown"
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
1: aload 0
invokevirtual org.springframework.jmx.export.MBeanExporter.unregisterNotificationListeners:()V
2: aload 0
invokevirtual org.springframework.jmx.export.MBeanExporter.unregisterBeans:()V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/jmx/export/MBeanExporter;
public javax.management.ObjectName registerManagedResource(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljavax/management/ObjectName;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 1
ldc "Managed resource must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: aload 0
aload 1
aconst_null
invokevirtual org.springframework.jmx.export.MBeanExporter.getObjectName:(Ljava/lang/Object;Ljava/lang/String;)Ljavax/management/ObjectName;
astore 2
start local 2 2: aload 0
getfield org.springframework.jmx.export.MBeanExporter.ensureUniqueRuntimeObjectNames:Z
ifeq 7
3: aload 2
aload 1
invokestatic org.springframework.jmx.support.JmxUtils.appendIdentityToObjectName:(Ljavax/management/ObjectName;Ljava/lang/Object;)Ljavax/management/ObjectName;
astore 2
4: goto 7
end local 2 5: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
start local 3 6: new org.springframework.jmx.export.MBeanExportException
dup
new java.lang.StringBuilder
dup
ldc "Unable to generate ObjectName for MBean ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 3
invokespecial org.springframework.jmx.export.MBeanExportException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 start local 2 7: StackMap locals: javax.management.ObjectName
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual org.springframework.jmx.export.MBeanExporter.registerManagedResource:(Ljava/lang/Object;Ljavax/management/ObjectName;)V
8: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/springframework/jmx/export/MBeanExporter;
0 9 1 managedResource Ljava/lang/Object;
2 5 2 objectName Ljavax/management/ObjectName;
7 9 2 objectName Ljavax/management/ObjectName;
6 7 3 ex Ljava/lang/Throwable;
Exception table:
from to target type
1 4 5 Class java.lang.Throwable
Exceptions:
throws org.springframework.jmx.export.MBeanExportException
MethodParameters:
Name Flags
managedResource
public void registerManagedResource(java.lang.Object, javax.management.ObjectName);
descriptor: (Ljava/lang/Object;Ljavax/management/ObjectName;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ldc "Managed resource must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: aload 2
ldc "ObjectName must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
2: aload 0
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual org.springframework.jmx.export.MBeanExporter.isMBean:(Ljava/lang/Class;)Z
ifeq 5
3: aload 0
aload 1
aload 2
invokevirtual org.springframework.jmx.export.MBeanExporter.doRegister:(Ljava/lang/Object;Ljavax/management/ObjectName;)V
4: goto 13
5: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual org.springframework.jmx.export.MBeanExporter.createAndConfigureMBean:(Ljava/lang/Object;Ljava/lang/String;)Ljavax/management/modelmbean/ModelMBean;
astore 3
start local 3 6: aload 0
aload 3
aload 2
invokevirtual org.springframework.jmx.export.MBeanExporter.doRegister:(Ljava/lang/Object;Ljavax/management/ObjectName;)V
7: aload 0
aload 1
aload 3
aload 2
invokevirtual org.springframework.jmx.export.MBeanExporter.injectNotificationPublisherIfNecessary:(Ljava/lang/Object;Ljavax/management/modelmbean/ModelMBean;Ljavax/management/ObjectName;)V
end local 3 8: goto 13
9: StackMap locals:
StackMap stack: javax.management.JMException
astore 3
start local 3 10: new org.springframework.jmx.export.UnableToRegisterMBeanException
dup
11: new java.lang.StringBuilder
dup
ldc "Unable to register MBean ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "] with object name ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 3
12: invokespecial org.springframework.jmx.export.UnableToRegisterMBeanException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 13: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/springframework/jmx/export/MBeanExporter;
0 14 1 managedResource Ljava/lang/Object;
0 14 2 objectName Ljavax/management/ObjectName;
6 8 3 mbean Ljavax/management/modelmbean/ModelMBean;
10 13 3 ex Ljavax/management/JMException;
Exception table:
from to target type
2 8 9 Class javax.management.JMException
Exceptions:
throws org.springframework.jmx.export.MBeanExportException
MethodParameters:
Name Flags
managedResource
objectName
public void unregisterManagedResource(javax.management.ObjectName);
descriptor: (Ljavax/management/ObjectName;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc "ObjectName must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: aload 0
aload 1
invokevirtual org.springframework.jmx.export.MBeanExporter.doUnregister:(Ljavax/management/ObjectName;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/jmx/export/MBeanExporter;
0 3 1 objectName Ljavax/management/ObjectName;
MethodParameters:
Name Flags
objectName
protected void registerBeans();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield org.springframework.jmx.export.MBeanExporter.beans:Ljava/util/Map;
ifnonnull 4
1: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield org.springframework.jmx.export.MBeanExporter.beans:Ljava/util/Map;
2: aload 0
getfield org.springframework.jmx.export.MBeanExporter.autodetectMode:Ljava/lang/Integer;
ifnonnull 4
3: aload 0
iconst_3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
putfield org.springframework.jmx.export.MBeanExporter.autodetectMode:Ljava/lang/Integer;
4: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.jmx.export.MBeanExporter.autodetectMode:Ljava/lang/Integer;
ifnull 5
aload 0
getfield org.springframework.jmx.export.MBeanExporter.autodetectMode:Ljava/lang/Integer;
invokevirtual java.lang.Integer.intValue:()I
goto 6
StackMap locals:
StackMap stack:
5: iconst_0
StackMap locals:
StackMap stack: int
6: istore 1
start local 1 7: iload 1
ifeq 16
8: aload 0
getfield org.springframework.jmx.export.MBeanExporter.beanFactory:Lorg/springframework/beans/factory/ListableBeanFactory;
ifnonnull 10
9: new org.springframework.jmx.export.MBeanExportException
dup
ldc "Cannot autodetect MBeans if not running in a BeanFactory"
invokespecial org.springframework.jmx.export.MBeanExportException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals: int
StackMap stack:
iload 1
iconst_1
if_icmpeq 11
iload 1
iconst_3
if_icmpne 13
11: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.jmx.export.MBeanExporter.logger:Lorg/apache/commons/logging/Log;
ldc "Autodetecting user-defined JMX MBeans"
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
12: aload 0
aload 0
getfield org.springframework.jmx.export.MBeanExporter.beans:Ljava/util/Map;
aload 0
invokedynamic include(Lorg/springframework/jmx/export/MBeanExporter;)Lorg/springframework/jmx/export/MBeanExporter$AutodetectCallback;
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/Class;Ljava/lang/String;)Z
org/springframework/jmx/export/MBeanExporter.lambda$1(Ljava/lang/Class;Ljava/lang/String;)Z (7)
(Ljava/lang/Class;Ljava/lang/String;)Z
invokevirtual org.springframework.jmx.export.MBeanExporter.autodetect:(Ljava/util/Map;Lorg/springframework/jmx/export/MBeanExporter$AutodetectCallback;)V
13: StackMap locals:
StackMap stack:
iload 1
iconst_2
if_icmpeq 14
iload 1
iconst_3
if_icmpne 16
14: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.jmx.export.MBeanExporter.assembler:Lorg/springframework/jmx/export/assembler/MBeanInfoAssembler;
instanceof org.springframework.jmx.export.assembler.AutodetectCapableMBeanInfoAssembler
ifeq 16
15: aload 0
aload 0
getfield org.springframework.jmx.export.MBeanExporter.beans:Ljava/util/Map;
aload 0
getfield org.springframework.jmx.export.MBeanExporter.assembler:Lorg/springframework/jmx/export/assembler/MBeanInfoAssembler;
checkcast org.springframework.jmx.export.assembler.AutodetectCapableMBeanInfoAssembler
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic include(Lorg/springframework/jmx/export/assembler/AutodetectCapableMBeanInfoAssembler;)Lorg/springframework/jmx/export/MBeanExporter$AutodetectCallback;
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/Class;Ljava/lang/String;)Z
org/springframework/jmx/export/assembler/AutodetectCapableMBeanInfoAssembler.includeBean(Ljava/lang/Class;Ljava/lang/String;)Z (9 itf)
(Ljava/lang/Class;Ljava/lang/String;)Z
invokevirtual org.springframework.jmx.export.MBeanExporter.autodetect:(Ljava/util/Map;Lorg/springframework/jmx/export/MBeanExporter$AutodetectCallback;)V
16: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.jmx.export.MBeanExporter.beans:Ljava/util/Map;
invokeinterface java.util.Map.isEmpty:()Z
ifne 18
17: aload 0
getfield org.springframework.jmx.export.MBeanExporter.beans:Ljava/util/Map;
aload 0
invokedynamic accept(Lorg/springframework/jmx/export/MBeanExporter;)Ljava/util/function/BiConsumer;
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;)V
org/springframework/jmx/export/MBeanExporter.lambda$3(Ljava/lang/String;Ljava/lang/Object;)V (7)
(Ljava/lang/String;Ljava/lang/Object;)V
invokeinterface java.util.Map.forEach:(Ljava/util/function/BiConsumer;)V
18: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/springframework/jmx/export/MBeanExporter;
7 19 1 mode I
protected boolean isBeanDefinitionLazyInit(org.springframework.beans.factory.ListableBeanFactory, java.lang.String);
descriptor: (Lorg/springframework/beans/factory/ListableBeanFactory;Ljava/lang/String;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
instanceof org.springframework.beans.factory.config.ConfigurableListableBeanFactory
ifeq 3
aload 1
aload 2
invokeinterface org.springframework.beans.factory.ListableBeanFactory.containsBeanDefinition:(Ljava/lang/String;)Z
ifeq 3
1: aload 1
checkcast org.springframework.beans.factory.config.ConfigurableListableBeanFactory
aload 2
invokeinterface org.springframework.beans.factory.config.ConfigurableListableBeanFactory.getBeanDefinition:(Ljava/lang/String;)Lorg/springframework/beans/factory/config/BeanDefinition;
invokeinterface org.springframework.beans.factory.config.BeanDefinition.isLazyInit:()Z
ifeq 3
2: iconst_1
ireturn
StackMap locals:
StackMap stack:
3: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/jmx/export/MBeanExporter;
0 4 1 beanFactory Lorg/springframework/beans/factory/ListableBeanFactory;
0 4 2 beanName Ljava/lang/String;
MethodParameters:
Name Flags
beanFactory
beanName
protected javax.management.ObjectName registerBeanNameOrInstance(java.lang.Object, java.lang.String);
descriptor: (Ljava/lang/Object;Ljava/lang/String;)Ljavax/management/ObjectName;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 1
instanceof java.lang.String
ifeq 14
1: aload 0
getfield org.springframework.jmx.export.MBeanExporter.beanFactory:Lorg/springframework/beans/factory/ListableBeanFactory;
ifnonnull 3
2: new org.springframework.jmx.export.MBeanExportException
dup
ldc "Cannot resolve bean names if not running in a BeanFactory"
invokespecial org.springframework.jmx.export.MBeanExportException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 1
checkcast java.lang.String
astore 3
start local 3 4: aload 0
aload 0
getfield org.springframework.jmx.export.MBeanExporter.beanFactory:Lorg/springframework/beans/factory/ListableBeanFactory;
aload 3
invokevirtual org.springframework.jmx.export.MBeanExporter.isBeanDefinitionLazyInit:(Lorg/springframework/beans/factory/ListableBeanFactory;Ljava/lang/String;)Z
ifeq 9
5: aload 0
aload 3
aload 2
invokevirtual org.springframework.jmx.export.MBeanExporter.registerLazyInit:(Ljava/lang/String;Ljava/lang/String;)Ljavax/management/ObjectName;
astore 4
start local 4 6: aload 0
aload 3
aload 4
invokevirtual org.springframework.jmx.export.MBeanExporter.replaceNotificationListenerBeanNameKeysIfNecessary:(Ljava/lang/String;Ljavax/management/ObjectName;)V
7: aload 4
8: areturn
end local 4 9: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield org.springframework.jmx.export.MBeanExporter.beanFactory:Lorg/springframework/beans/factory/ListableBeanFactory;
aload 3
invokeinterface org.springframework.beans.factory.ListableBeanFactory.getBean:(Ljava/lang/String;)Ljava/lang/Object;
astore 4
start local 4 10: aload 0
aload 4
aload 2
invokevirtual org.springframework.jmx.export.MBeanExporter.registerBeanInstance:(Ljava/lang/Object;Ljava/lang/String;)Ljavax/management/ObjectName;
astore 5
start local 5 11: aload 0
aload 3
aload 5
invokevirtual org.springframework.jmx.export.MBeanExporter.replaceNotificationListenerBeanNameKeysIfNecessary:(Ljava/lang/String;Ljavax/management/ObjectName;)V
12: aload 5
13: areturn
end local 5 end local 4 end local 3 14: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.jmx.export.MBeanExporter.beanFactory:Lorg/springframework/beans/factory/ListableBeanFactory;
ifnull 26
15: aload 0
getfield org.springframework.jmx.export.MBeanExporter.beanFactory:Lorg/springframework/beans/factory/ListableBeanFactory;
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
iconst_0
aload 0
getfield org.springframework.jmx.export.MBeanExporter.allowEagerInit:Z
invokeinterface org.springframework.beans.factory.ListableBeanFactory.getBeansOfType:(Ljava/lang/Class;ZZ)Ljava/util/Map;
16: astore 3
start local 3 17: aload 3
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
goto 25
StackMap locals: org.springframework.jmx.export.MBeanExporter java.lang.Object java.lang.String java.util.Map top java.util.Iterator
StackMap stack:
18: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 4
start local 4 19: aload 4
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
aload 1
if_acmpne 25
20: aload 4
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
astore 6
start local 6 21: aload 0
aload 1
aload 2
invokevirtual org.springframework.jmx.export.MBeanExporter.registerBeanInstance:(Ljava/lang/Object;Ljava/lang/String;)Ljavax/management/ObjectName;
astore 7
start local 7 22: aload 0
aload 6
aload 7
invokevirtual org.springframework.jmx.export.MBeanExporter.replaceNotificationListenerBeanNameKeysIfNecessary:(Ljava/lang/String;Ljavax/management/ObjectName;)V
23: aload 7
24: areturn
end local 7 end local 6 end local 4 25: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 18
end local 3 26: StackMap locals: org.springframework.jmx.export.MBeanExporter java.lang.Object java.lang.String
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual org.springframework.jmx.export.MBeanExporter.registerBeanInstance:(Ljava/lang/Object;Ljava/lang/String;)Ljavax/management/ObjectName;
27: areturn
28: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
start local 3 29: new org.springframework.jmx.export.UnableToRegisterMBeanException
dup
30: new java.lang.StringBuilder
dup
ldc "Unable to register MBean ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "] with key '"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 3
31: invokespecial org.springframework.jmx.export.UnableToRegisterMBeanException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Lorg/springframework/jmx/export/MBeanExporter;
0 32 1 mapValue Ljava/lang/Object;
0 32 2 beanKey Ljava/lang/String;
4 14 3 beanName Ljava/lang/String;
6 9 4 objectName Ljavax/management/ObjectName;
10 14 4 bean Ljava/lang/Object;
11 14 5 objectName Ljavax/management/ObjectName;
17 26 3 beansOfSameType Ljava/util/Map<Ljava/lang/String;*>;
19 25 4 entry Ljava/util/Map$Entry<Ljava/lang/String;*>;
21 25 6 beanName Ljava/lang/String;
22 25 7 objectName Ljavax/management/ObjectName;
29 32 3 ex Ljava/lang/Throwable;
Exception table:
from to target type
0 8 28 Class java.lang.Throwable
9 13 28 Class java.lang.Throwable
14 24 28 Class java.lang.Throwable
25 27 28 Class java.lang.Throwable
Exceptions:
throws org.springframework.jmx.export.MBeanExportException
MethodParameters:
Name Flags
mapValue
beanKey
private void replaceNotificationListenerBeanNameKeysIfNecessary(java.lang.String, javax.management.ObjectName);
descriptor: (Ljava/lang/String;Ljavax/management/ObjectName;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.springframework.jmx.export.MBeanExporter.notificationListeners:[Lorg/springframework/jmx/export/NotificationListenerBean;
ifnull 6
1: aload 0
getfield org.springframework.jmx.export.MBeanExporter.notificationListeners:[Lorg/springframework/jmx/export/NotificationListenerBean;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 5
StackMap locals: org.springframework.jmx.export.MBeanExporter java.lang.String javax.management.ObjectName top int int org.springframework.jmx.export.NotificationListenerBean[]
StackMap stack:
2: aload 6
iload 4
aaload
astore 3
start local 3 3: aload 3
aload 1
aload 2
invokevirtual org.springframework.jmx.export.NotificationListenerBean.replaceObjectName:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 3 4: iinc 4 1
StackMap locals:
StackMap stack:
5: iload 4
iload 5
if_icmplt 2
6: StackMap locals: org.springframework.jmx.export.MBeanExporter java.lang.String javax.management.ObjectName
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/springframework/jmx/export/MBeanExporter;
0 7 1 beanName Ljava/lang/String;
0 7 2 objectName Ljavax/management/ObjectName;
3 4 3 notificationListener Lorg/springframework/jmx/export/NotificationListenerBean;
MethodParameters:
Name Flags
beanName
objectName
private javax.management.ObjectName registerBeanInstance(java.lang.Object, java.lang.String);
descriptor: (Ljava/lang/Object;Ljava/lang/String;)Ljavax/management/ObjectName;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual org.springframework.jmx.export.MBeanExporter.getObjectName:(Ljava/lang/Object;Ljava/lang/String;)Ljavax/management/ObjectName;
astore 3
start local 3 1: aconst_null
astore 4
start local 4 2: aload 0
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual org.springframework.jmx.export.MBeanExporter.isMBean:(Ljava/lang/Class;)Z
ifeq 5
3: aload 1
astore 4
4: goto 8
5: StackMap locals: javax.management.ObjectName java.lang.Object
StackMap stack:
aload 0
aload 1
invokevirtual org.springframework.jmx.export.MBeanExporter.adaptMBeanIfPossible:(Ljava/lang/Object;)Ljavax/management/DynamicMBean;
astore 5
start local 5 6: aload 5
ifnull 8
7: aload 5
astore 4
end local 5 8: StackMap locals:
StackMap stack:
aload 4
ifnull 15
9: aload 0
getfield org.springframework.jmx.export.MBeanExporter.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 13
10: aload 0
getfield org.springframework.jmx.export.MBeanExporter.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Located MBean '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "': registering with JMX server as MBean ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
11: aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
12: invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
13: StackMap locals:
StackMap stack:
aload 0
aload 4
aload 3
invokevirtual org.springframework.jmx.export.MBeanExporter.doRegister:(Ljava/lang/Object;Ljavax/management/ObjectName;)V
14: goto 22
15: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.jmx.export.MBeanExporter.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 19
16: aload 0
getfield org.springframework.jmx.export.MBeanExporter.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Located managed bean '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "': registering with JMX server as MBean ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
17: aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
18: invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
19: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual org.springframework.jmx.export.MBeanExporter.createAndConfigureMBean:(Ljava/lang/Object;Ljava/lang/String;)Ljavax/management/modelmbean/ModelMBean;
astore 5
start local 5 20: aload 0
aload 5
aload 3
invokevirtual org.springframework.jmx.export.MBeanExporter.doRegister:(Ljava/lang/Object;Ljavax/management/ObjectName;)V
21: aload 0
aload 1
aload 5
aload 3
invokevirtual org.springframework.jmx.export.MBeanExporter.injectNotificationPublisherIfNecessary:(Ljava/lang/Object;Ljavax/management/modelmbean/ModelMBean;Ljavax/management/ObjectName;)V
end local 5 22: StackMap locals:
StackMap stack:
aload 3
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lorg/springframework/jmx/export/MBeanExporter;
0 23 1 bean Ljava/lang/Object;
0 23 2 beanKey Ljava/lang/String;
1 23 3 objectName Ljavax/management/ObjectName;
2 23 4 mbeanToExpose Ljava/lang/Object;
6 8 5 adaptedBean Ljavax/management/DynamicMBean;
20 22 5 mbean Ljavax/management/modelmbean/ModelMBean;
Exceptions:
throws javax.management.JMException
MethodParameters:
Name Flags
bean
beanKey
private javax.management.ObjectName registerLazyInit(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljavax/management/ObjectName;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.springframework.jmx.export.MBeanExporter.beanFactory:Lorg/springframework/beans/factory/ListableBeanFactory;
ifnull 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ldc "No BeanFactory set"
invokestatic org.springframework.util.Assert.state:(ZLjava/lang/String;)V
3: new org.springframework.aop.framework.ProxyFactory
dup
invokespecial org.springframework.aop.framework.ProxyFactory.<init>:()V
astore 3
start local 3 4: aload 3
iconst_1
invokevirtual org.springframework.aop.framework.ProxyFactory.setProxyTargetClass:(Z)V
5: aload 3
iconst_1
invokevirtual org.springframework.aop.framework.ProxyFactory.setFrozen:(Z)V
6: aload 0
aload 0
getfield org.springframework.jmx.export.MBeanExporter.beanFactory:Lorg/springframework/beans/factory/ListableBeanFactory;
aload 1
invokeinterface org.springframework.beans.factory.ListableBeanFactory.getType:(Ljava/lang/String;)Ljava/lang/Class;
invokevirtual org.springframework.jmx.export.MBeanExporter.isMBean:(Ljava/lang/Class;)Z
ifeq 19
7: new org.springframework.aop.target.LazyInitTargetSource
dup
invokespecial org.springframework.aop.target.LazyInitTargetSource.<init>:()V
astore 4
start local 4 8: aload 4
aload 1
invokevirtual org.springframework.aop.target.LazyInitTargetSource.setTargetBeanName:(Ljava/lang/String;)V
9: aload 4
aload 0
getfield org.springframework.jmx.export.MBeanExporter.beanFactory:Lorg/springframework/beans/factory/ListableBeanFactory;
invokevirtual org.springframework.aop.target.LazyInitTargetSource.setBeanFactory:(Lorg/springframework/beans/factory/BeanFactory;)V
10: aload 3
aload 4
invokevirtual org.springframework.aop.framework.ProxyFactory.setTargetSource:(Lorg/springframework/aop/TargetSource;)V
11: aload 3
aload 0
getfield org.springframework.jmx.export.MBeanExporter.beanClassLoader:Ljava/lang/ClassLoader;
invokevirtual org.springframework.aop.framework.ProxyFactory.getProxy:(Ljava/lang/ClassLoader;)Ljava/lang/Object;
astore 5
start local 5 12: aload 0
aload 5
aload 2
invokevirtual org.springframework.jmx.export.MBeanExporter.getObjectName:(Ljava/lang/Object;Ljava/lang/String;)Ljavax/management/ObjectName;
astore 6
start local 6 13: aload 0
getfield org.springframework.jmx.export.MBeanExporter.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 17
14: aload 0
getfield org.springframework.jmx.export.MBeanExporter.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Located MBean '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "': registering with JMX server as lazy-init MBean ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
15: aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
16: invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
17: StackMap locals: org.springframework.jmx.export.MBeanExporter java.lang.String java.lang.String org.springframework.aop.framework.ProxyFactory org.springframework.aop.target.LazyInitTargetSource java.lang.Object javax.management.ObjectName
StackMap stack:
aload 0
aload 5
aload 6
invokevirtual org.springframework.jmx.export.MBeanExporter.doRegister:(Ljava/lang/Object;Ljavax/management/ObjectName;)V
18: aload 6
areturn
end local 6 end local 5 end local 4 19: StackMap locals:
StackMap stack:
new org.springframework.jmx.export.MBeanExporter$NotificationPublisherAwareLazyTargetSource
dup
aload 0
invokespecial org.springframework.jmx.export.MBeanExporter$NotificationPublisherAwareLazyTargetSource.<init>:(Lorg/springframework/jmx/export/MBeanExporter;)V
astore 4
start local 4 20: aload 4
aload 1
invokevirtual org.springframework.jmx.export.MBeanExporter$NotificationPublisherAwareLazyTargetSource.setTargetBeanName:(Ljava/lang/String;)V
21: aload 4
aload 0
getfield org.springframework.jmx.export.MBeanExporter.beanFactory:Lorg/springframework/beans/factory/ListableBeanFactory;
invokevirtual org.springframework.jmx.export.MBeanExporter$NotificationPublisherAwareLazyTargetSource.setBeanFactory:(Lorg/springframework/beans/factory/BeanFactory;)V
22: aload 3
aload 4
invokevirtual org.springframework.aop.framework.ProxyFactory.setTargetSource:(Lorg/springframework/aop/TargetSource;)V
23: aload 3
aload 0
getfield org.springframework.jmx.export.MBeanExporter.beanClassLoader:Ljava/lang/ClassLoader;
invokevirtual org.springframework.aop.framework.ProxyFactory.getProxy:(Ljava/lang/ClassLoader;)Ljava/lang/Object;
astore 5
start local 5 24: aload 0
aload 5
aload 2
invokevirtual org.springframework.jmx.export.MBeanExporter.getObjectName:(Ljava/lang/Object;Ljava/lang/String;)Ljavax/management/ObjectName;
astore 6
start local 6 25: aload 0
getfield org.springframework.jmx.export.MBeanExporter.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 29
26: aload 0
getfield org.springframework.jmx.export.MBeanExporter.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Located simple bean '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "': registering with JMX server as lazy-init MBean ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
27: aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
28: invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
29: StackMap locals: org.springframework.jmx.export.MBeanExporter$NotificationPublisherAwareLazyTargetSource java.lang.Object javax.management.ObjectName
StackMap stack:
aload 0
aload 5
aload 2
invokevirtual org.springframework.jmx.export.MBeanExporter.createAndConfigureMBean:(Ljava/lang/Object;Ljava/lang/String;)Ljavax/management/modelmbean/ModelMBean;
astore 7
start local 7 30: aload 4
aload 7
invokevirtual org.springframework.jmx.export.MBeanExporter$NotificationPublisherAwareLazyTargetSource.setModelMBean:(Ljavax/management/modelmbean/ModelMBean;)V
31: aload 4
aload 6
invokevirtual org.springframework.jmx.export.MBeanExporter$NotificationPublisherAwareLazyTargetSource.setObjectName:(Ljavax/management/ObjectName;)V
32: aload 0
aload 7
aload 6
invokevirtual org.springframework.jmx.export.MBeanExporter.doRegister:(Ljava/lang/Object;Ljavax/management/ObjectName;)V
33: aload 6
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Lorg/springframework/jmx/export/MBeanExporter;
0 34 1 beanName Ljava/lang/String;
0 34 2 beanKey Ljava/lang/String;
4 34 3 proxyFactory Lorg/springframework/aop/framework/ProxyFactory;
8 19 4 targetSource Lorg/springframework/aop/target/LazyInitTargetSource;
12 19 5 proxy Ljava/lang/Object;
13 19 6 objectName Ljavax/management/ObjectName;
20 34 4 targetSource Lorg/springframework/jmx/export/MBeanExporter$NotificationPublisherAwareLazyTargetSource;
24 34 5 proxy Ljava/lang/Object;
25 34 6 objectName Ljavax/management/ObjectName;
30 34 7 mbean Ljavax/management/modelmbean/ModelMBean;
Exceptions:
throws javax.management.JMException
MethodParameters:
Name Flags
beanName
beanKey
protected javax.management.ObjectName getObjectName(java.lang.Object, java.lang.String);
descriptor: (Ljava/lang/Object;Ljava/lang/String;)Ljavax/management/ObjectName;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
instanceof org.springframework.jmx.export.naming.SelfNaming
ifeq 2
1: aload 1
checkcast org.springframework.jmx.export.naming.SelfNaming
invokeinterface org.springframework.jmx.export.naming.SelfNaming.getObjectName:()Ljavax/management/ObjectName;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.jmx.export.MBeanExporter.namingStrategy:Lorg/springframework/jmx/export/naming/ObjectNamingStrategy;
aload 1
aload 2
invokeinterface org.springframework.jmx.export.naming.ObjectNamingStrategy.getObjectName:(Ljava/lang/Object;Ljava/lang/String;)Ljavax/management/ObjectName;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/jmx/export/MBeanExporter;
0 3 1 bean Ljava/lang/Object;
0 3 2 beanKey Ljava/lang/String;
Exceptions:
throws javax.management.MalformedObjectNameException
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
bean
beanKey
protected boolean isMBean(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic org.springframework.jmx.support.JmxUtils.isMBean:(Ljava/lang/Class;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/jmx/export/MBeanExporter;
0 1 1 beanClass Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Z
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
beanClass
protected javax.management.DynamicMBean adaptMBeanIfPossible(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljavax/management/DynamicMBean;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokestatic org.springframework.aop.support.AopUtils.getTargetClass:(Ljava/lang/Object;)Ljava/lang/Class;
astore 2
start local 2 1: aload 2
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
if_acmpeq 16
2: aload 2
invokestatic org.springframework.jmx.support.JmxUtils.getMXBeanInterface:(Ljava/lang/Class;)Ljava/lang/Class;
astore 3
start local 3 3: aload 3
ifnull 9
4: aload 3
aload 1
invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
ifne 8
5: new javax.management.NotCompliantMBeanException
dup
new java.lang.StringBuilder
dup
ldc "Managed bean ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
6: ldc "] has a target class with an MXBean interface but does not expose it in the proxy"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: invokespecial javax.management.NotCompliantMBeanException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals: java.lang.Class java.lang.Class
StackMap stack:
new javax.management.StandardMBean
dup
aload 1
aload 3
iconst_1
invokespecial javax.management.StandardMBean.<init>:(Ljava/lang/Object;Ljava/lang/Class;Z)V
areturn
9: StackMap locals:
StackMap stack:
aload 2
invokestatic org.springframework.jmx.support.JmxUtils.getMBeanInterface:(Ljava/lang/Class;)Ljava/lang/Class;
astore 3
10: aload 3
ifnull 16
11: aload 3
aload 1
invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
ifne 15
12: new javax.management.NotCompliantMBeanException
dup
new java.lang.StringBuilder
dup
ldc "Managed bean ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
13: ldc "] has a target class with an MBean interface but does not expose it in the proxy"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
14: invokespecial javax.management.NotCompliantMBeanException.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals:
StackMap stack:
new javax.management.StandardMBean
dup
aload 1
aload 3
invokespecial javax.management.StandardMBean.<init>:(Ljava/lang/Object;Ljava/lang/Class;)V
areturn
end local 3 16: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/springframework/jmx/export/MBeanExporter;
0 17 1 bean Ljava/lang/Object;
1 17 2 targetClass Ljava/lang/Class<*>;
3 16 3 ifc Ljava/lang/Class<*>;
Exceptions:
throws javax.management.JMException
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
bean
protected javax.management.modelmbean.ModelMBean createAndConfigureMBean(java.lang.Object, java.lang.String);
descriptor: (Ljava/lang/Object;Ljava/lang/String;)Ljavax/management/modelmbean/ModelMBean;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.springframework.jmx.export.MBeanExporter.createModelMBean:()Ljavax/management/modelmbean/ModelMBean;
astore 3
start local 3 1: aload 3
aload 0
aload 1
aload 2
invokevirtual org.springframework.jmx.export.MBeanExporter.getMBeanInfo:(Ljava/lang/Object;Ljava/lang/String;)Ljavax/management/modelmbean/ModelMBeanInfo;
invokeinterface javax.management.modelmbean.ModelMBean.setModelMBeanInfo:(Ljavax/management/modelmbean/ModelMBeanInfo;)V
2: aload 3
aload 1
ldc "ObjectReference"
invokeinterface javax.management.modelmbean.ModelMBean.setManagedResource:(Ljava/lang/Object;Ljava/lang/String;)V
3: aload 3
4: areturn
end local 3 5: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
start local 3 6: new org.springframework.jmx.export.MBeanExportException
dup
new java.lang.StringBuilder
dup
ldc "Could not create ModelMBean for managed resource ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
7: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "] with key '"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 3
8: invokespecial org.springframework.jmx.export.MBeanExportException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/springframework/jmx/export/MBeanExporter;
0 9 1 managedResource Ljava/lang/Object;
0 9 2 beanKey Ljava/lang/String;
1 5 3 mbean Ljavax/management/modelmbean/ModelMBean;
6 9 3 ex Ljava/lang/Throwable;
Exception table:
from to target type
0 4 5 Class java.lang.Throwable
Exceptions:
throws org.springframework.jmx.export.MBeanExportException
MethodParameters:
Name Flags
managedResource
beanKey
protected javax.management.modelmbean.ModelMBean createModelMBean();
descriptor: ()Ljavax/management/modelmbean/ModelMBean;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.jmx.export.MBeanExporter.exposeManagedResourceClassLoader:Z
ifeq 1
new org.springframework.jmx.export.SpringModelMBean
dup
invokespecial org.springframework.jmx.export.SpringModelMBean.<init>:()V
goto 2
StackMap locals:
StackMap stack:
1: new javax.management.modelmbean.RequiredModelMBean
dup
invokespecial javax.management.modelmbean.RequiredModelMBean.<init>:()V
StackMap locals:
StackMap stack: javax.management.modelmbean.RequiredModelMBean
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/jmx/export/MBeanExporter;
Exceptions:
throws javax.management.MBeanException
private javax.management.modelmbean.ModelMBeanInfo getMBeanInfo(java.lang.Object, java.lang.String);
descriptor: (Ljava/lang/Object;Ljava/lang/String;)Ljavax/management/modelmbean/ModelMBeanInfo;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.springframework.jmx.export.MBeanExporter.assembler:Lorg/springframework/jmx/export/assembler/MBeanInfoAssembler;
aload 1
aload 2
invokeinterface org.springframework.jmx.export.assembler.MBeanInfoAssembler.getMBeanInfo:(Ljava/lang/Object;Ljava/lang/String;)Ljavax/management/modelmbean/ModelMBeanInfo;
astore 3
start local 3 1: aload 0
getfield org.springframework.jmx.export.MBeanExporter.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isInfoEnabled:()Z
ifeq 6
aload 3
invokeinterface javax.management.modelmbean.ModelMBeanInfo.getAttributes:()[Ljavax/management/MBeanAttributeInfo;
invokestatic org.springframework.util.ObjectUtils.isEmpty:([Ljava/lang/Object;)Z
ifeq 6
2: aload 3
invokeinterface javax.management.modelmbean.ModelMBeanInfo.getOperations:()[Ljavax/management/MBeanOperationInfo;
invokestatic org.springframework.util.ObjectUtils.isEmpty:([Ljava/lang/Object;)Z
ifeq 6
3: aload 0
getfield org.springframework.jmx.export.MBeanExporter.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Bean with key '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: ldc "' has been registered as an MBean but has no exposed attributes or operations"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: invokeinterface org.apache.commons.logging.Log.info:(Ljava/lang/Object;)V
6: StackMap locals: javax.management.modelmbean.ModelMBeanInfo
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/springframework/jmx/export/MBeanExporter;
0 7 1 managedBean Ljava/lang/Object;
0 7 2 beanKey Ljava/lang/String;
1 7 3 info Ljavax/management/modelmbean/ModelMBeanInfo;
Exceptions:
throws javax.management.JMException
MethodParameters:
Name Flags
managedBean
beanKey
private void autodetect(java.util.Map<java.lang.String, java.lang.Object>, org.springframework.jmx.export.MBeanExporter$AutodetectCallback);
descriptor: (Ljava/util/Map;Lorg/springframework/jmx/export/MBeanExporter$AutodetectCallback;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.springframework.jmx.export.MBeanExporter.beanFactory:Lorg/springframework/beans/factory/ListableBeanFactory;
ifnull 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ldc "No BeanFactory set"
invokestatic org.springframework.util.Assert.state:(ZLjava/lang/String;)V
3: new java.util.LinkedHashSet
dup
aload 0
getfield org.springframework.jmx.export.MBeanExporter.beanFactory:Lorg/springframework/beans/factory/ListableBeanFactory;
invokeinterface org.springframework.beans.factory.ListableBeanFactory.getBeanDefinitionCount:()I
invokespecial java.util.LinkedHashSet.<init>:(I)V
astore 3
start local 3 4: aload 3
aload 0
getfield org.springframework.jmx.export.MBeanExporter.beanFactory:Lorg/springframework/beans/factory/ListableBeanFactory;
invokeinterface org.springframework.beans.factory.ListableBeanFactory.getBeanDefinitionNames:()[Ljava/lang/String;
invokestatic java.util.Collections.addAll:(Ljava/util/Collection;[Ljava/lang/Object;)Z
pop
5: aload 0
getfield org.springframework.jmx.export.MBeanExporter.beanFactory:Lorg/springframework/beans/factory/ListableBeanFactory;
instanceof org.springframework.beans.factory.config.ConfigurableBeanFactory
ifeq 7
6: aload 3
aload 0
getfield org.springframework.jmx.export.MBeanExporter.beanFactory:Lorg/springframework/beans/factory/ListableBeanFactory;
checkcast org.springframework.beans.factory.config.ConfigurableBeanFactory
invokeinterface org.springframework.beans.factory.config.ConfigurableBeanFactory.getSingletonNames:()[Ljava/lang/String;
invokestatic java.util.Collections.addAll:(Ljava/util/Collection;[Ljava/lang/Object;)Z
pop
7: StackMap locals: java.util.Set
StackMap stack:
aload 3
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
goto 33
StackMap locals: org.springframework.jmx.export.MBeanExporter java.util.Map org.springframework.jmx.export.MBeanExporter$AutodetectCallback java.util.Set top java.util.Iterator
StackMap stack:
8: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 9: aload 0
aload 4
invokevirtual org.springframework.jmx.export.MBeanExporter.isExcluded:(Ljava/lang/String;)Z
ifne 33
aload 0
aload 0
getfield org.springframework.jmx.export.MBeanExporter.beanFactory:Lorg/springframework/beans/factory/ListableBeanFactory;
aload 4
invokevirtual org.springframework.jmx.export.MBeanExporter.isBeanDefinitionAbstract:(Lorg/springframework/beans/factory/ListableBeanFactory;Ljava/lang/String;)Z
ifne 33
10: aload 0
getfield org.springframework.jmx.export.MBeanExporter.beanFactory:Lorg/springframework/beans/factory/ListableBeanFactory;
aload 4
invokeinterface org.springframework.beans.factory.ListableBeanFactory.getType:(Ljava/lang/String;)Ljava/lang/Class;
astore 6
start local 6 11: aload 6
ifnull 33
aload 2
aload 6
aload 4
invokeinterface org.springframework.jmx.export.MBeanExporter$AutodetectCallback.include:(Ljava/lang/Class;Ljava/lang/String;)Z
ifeq 33
12: aload 0
aload 0
getfield org.springframework.jmx.export.MBeanExporter.beanFactory:Lorg/springframework/beans/factory/ListableBeanFactory;
aload 4
invokevirtual org.springframework.jmx.export.MBeanExporter.isBeanDefinitionLazyInit:(Lorg/springframework/beans/factory/ListableBeanFactory;Ljava/lang/String;)Z
istore 7
start local 7 13: aconst_null
astore 8
start local 8 14: iload 7
ifne 18
15: aload 0
getfield org.springframework.jmx.export.MBeanExporter.beanFactory:Lorg/springframework/beans/factory/ListableBeanFactory;
aload 4
invokeinterface org.springframework.beans.factory.ListableBeanFactory.getBean:(Ljava/lang/String;)Ljava/lang/Object;
astore 8
16: aload 6
aload 8
invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
ifne 18
17: goto 33
18: StackMap locals: org.springframework.jmx.export.MBeanExporter java.util.Map org.springframework.jmx.export.MBeanExporter$AutodetectCallback java.util.Set java.lang.String java.util.Iterator java.lang.Class int java.lang.Object
StackMap stack:
aload 4
invokestatic org.springframework.aop.scope.ScopedProxyUtils.isScopedTarget:(Ljava/lang/String;)Z
ifne 27
aload 1
aload 4
invokeinterface java.util.Map.containsValue:(Ljava/lang/Object;)Z
ifne 27
19: aload 8
ifnull 21
20: aload 1
invokeinterface java.util.Map.values:()Ljava/util/Collection;
aload 8
invokestatic org.springframework.util.CollectionUtils.containsInstance:(Ljava/util/Collection;Ljava/lang/Object;)Z
ifne 27
21: StackMap locals:
StackMap stack:
aload 1
aload 4
aload 8
ifnull 22
aload 8
goto 23
StackMap locals: org.springframework.jmx.export.MBeanExporter java.util.Map org.springframework.jmx.export.MBeanExporter$AutodetectCallback java.util.Set java.lang.String java.util.Iterator java.lang.Class int java.lang.Object
StackMap stack: java.util.Map java.lang.String
22: aload 4
StackMap locals: org.springframework.jmx.export.MBeanExporter java.util.Map org.springframework.jmx.export.MBeanExporter$AutodetectCallback java.util.Set java.lang.String java.util.Iterator java.lang.Class int java.lang.Object
StackMap stack: java.util.Map java.lang.String java.lang.Object
23: invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
24: aload 0
getfield org.springframework.jmx.export.MBeanExporter.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 33
25: aload 0
getfield org.springframework.jmx.export.MBeanExporter.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Bean with name '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "' has been autodetected for JMX exposure"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
26: goto 33
27: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.jmx.export.MBeanExporter.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
ifeq 33
28: aload 0
getfield org.springframework.jmx.export.MBeanExporter.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Bean with name '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "' is already registered for JMX exposure"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
end local 8 end local 7 end local 6 29: goto 33
30: StackMap locals: org.springframework.jmx.export.MBeanExporter java.util.Map org.springframework.jmx.export.MBeanExporter$AutodetectCallback java.util.Set java.lang.String java.util.Iterator
StackMap stack: org.springframework.beans.factory.CannotLoadBeanClassException
astore 6
start local 6 31: aload 0
getfield org.springframework.jmx.export.MBeanExporter.allowEagerInit:Z
ifeq 33
32: aload 6
athrow
end local 6 end local 4 33: StackMap locals: org.springframework.jmx.export.MBeanExporter java.util.Map org.springframework.jmx.export.MBeanExporter$AutodetectCallback java.util.Set top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
34: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Lorg/springframework/jmx/export/MBeanExporter;
0 35 1 beans Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
0 35 2 callback Lorg/springframework/jmx/export/MBeanExporter$AutodetectCallback;
4 35 3 beanNames Ljava/util/Set<Ljava/lang/String;>;
9 33 4 beanName Ljava/lang/String;
11 29 6 beanClass Ljava/lang/Class<*>;
13 29 7 lazyInit Z
14 29 8 beanInstance Ljava/lang/Object;
31 33 6 ex Lorg/springframework/beans/factory/CannotLoadBeanClassException;
Exception table:
from to target type
10 17 30 Class org.springframework.beans.factory.CannotLoadBeanClassException
18 29 30 Class org.springframework.beans.factory.CannotLoadBeanClassException
Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;Lorg/springframework/jmx/export/MBeanExporter$AutodetectCallback;)V
MethodParameters:
Name Flags
beans
callback
private boolean isExcluded(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.springframework.jmx.export.MBeanExporter.excludedBeans:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 4
1: aload 1
ldc "&"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 3
2: aload 0
getfield org.springframework.jmx.export.MBeanExporter.excludedBeans:Ljava/util/Set;
aload 1
ldc "&"
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 4
3: StackMap locals:
StackMap stack:
iconst_0
ireturn
StackMap locals:
StackMap stack:
4: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/springframework/jmx/export/MBeanExporter;
0 5 1 beanName Ljava/lang/String;
MethodParameters:
Name Flags
beanName
private boolean isBeanDefinitionAbstract(org.springframework.beans.factory.ListableBeanFactory, java.lang.String);
descriptor: (Lorg/springframework/beans/factory/ListableBeanFactory;Ljava/lang/String;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
instanceof org.springframework.beans.factory.config.ConfigurableListableBeanFactory
ifeq 3
aload 1
aload 2
invokeinterface org.springframework.beans.factory.ListableBeanFactory.containsBeanDefinition:(Ljava/lang/String;)Z
ifeq 3
1: aload 1
checkcast org.springframework.beans.factory.config.ConfigurableListableBeanFactory
aload 2
invokeinterface org.springframework.beans.factory.config.ConfigurableListableBeanFactory.getBeanDefinition:(Ljava/lang/String;)Lorg/springframework/beans/factory/config/BeanDefinition;
invokeinterface org.springframework.beans.factory.config.BeanDefinition.isAbstract:()Z
ifeq 3
2: iconst_1
ireturn
StackMap locals:
StackMap stack:
3: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/jmx/export/MBeanExporter;
0 4 1 beanFactory Lorg/springframework/beans/factory/ListableBeanFactory;
0 4 2 beanName Ljava/lang/String;
MethodParameters:
Name Flags
beanFactory
beanName
private void injectNotificationPublisherIfNecessary(java.lang.Object, javax.management.modelmbean.ModelMBean, javax.management.ObjectName);
descriptor: (Ljava/lang/Object;Ljavax/management/modelmbean/ModelMBean;Ljavax/management/ObjectName;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
instanceof org.springframework.jmx.export.notification.NotificationPublisherAware
ifeq 4
aload 2
ifnull 4
aload 3
ifnull 4
1: aload 1
checkcast org.springframework.jmx.export.notification.NotificationPublisherAware
2: new org.springframework.jmx.export.notification.ModelMBeanNotificationPublisher
dup
aload 2
aload 3
aload 1
invokespecial org.springframework.jmx.export.notification.ModelMBeanNotificationPublisher.<init>:(Ljavax/management/modelmbean/ModelMBeanNotificationBroadcaster;Ljavax/management/ObjectName;Ljava/lang/Object;)V
3: invokeinterface org.springframework.jmx.export.notification.NotificationPublisherAware.setNotificationPublisher:(Lorg/springframework/jmx/export/notification/NotificationPublisher;)V
4: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/springframework/jmx/export/MBeanExporter;
0 5 1 managedResource Ljava/lang/Object;
0 5 2 modelMBean Ljavax/management/modelmbean/ModelMBean;
0 5 3 objectName Ljavax/management/ObjectName;
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
2:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
managedResource
modelMBean
objectName
private void registerNotificationListeners();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=10, args_size=1
start local 0 0: aload 0
getfield org.springframework.jmx.export.MBeanExporter.notificationListeners:[Lorg/springframework/jmx/export/NotificationListenerBean;
ifnull 22
1: aload 0
getfield org.springframework.jmx.export.MBeanExporter.server:Ljavax/management/MBeanServer;
ifnull 2
iconst_1
goto 3
StackMap locals:
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: ldc "No MBeanServer available"
invokestatic org.springframework.util.Assert.state:(ZLjava/lang/String;)V
4: aload 0
getfield org.springframework.jmx.export.MBeanExporter.notificationListeners:[Lorg/springframework/jmx/export/NotificationListenerBean;
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 21
StackMap locals: org.springframework.jmx.export.MBeanExporter top int int org.springframework.jmx.export.NotificationListenerBean[]
StackMap stack:
5: aload 4
iload 2
aaload
astore 1
start local 1 6: aload 1
invokevirtual org.springframework.jmx.export.NotificationListenerBean.getResolvedObjectNames:()[Ljavax/management/ObjectName;
astore 5
start local 5 7: aload 5
ifnonnull 9
8: aload 0
invokevirtual org.springframework.jmx.export.MBeanExporter.getRegisteredObjectNames:()[Ljavax/management/ObjectName;
astore 5
9: StackMap locals: org.springframework.jmx.export.MBeanExporter org.springframework.jmx.export.NotificationListenerBean int int org.springframework.jmx.export.NotificationListenerBean[] javax.management.ObjectName[]
StackMap stack:
aload 0
getfield org.springframework.jmx.export.MBeanExporter.registeredNotificationListeners:Ljava/util/Map;
aload 1
aload 5
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
ifnonnull 20
10: aload 5
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 16
StackMap locals: org.springframework.jmx.export.MBeanExporter org.springframework.jmx.export.NotificationListenerBean int int org.springframework.jmx.export.NotificationListenerBean[] javax.management.ObjectName[] top int int javax.management.ObjectName[]
StackMap stack:
11: aload 9
iload 7
aaload
astore 6
start local 6 12: aload 0
getfield org.springframework.jmx.export.MBeanExporter.server:Ljavax/management/MBeanServer;
aload 6
aload 1
invokevirtual org.springframework.jmx.export.NotificationListenerBean.getNotificationListener:()Ljavax/management/NotificationListener;
13: aload 1
invokevirtual org.springframework.jmx.export.NotificationListenerBean.getNotificationFilter:()Ljavax/management/NotificationFilter;
aload 1
invokevirtual org.springframework.jmx.export.NotificationListenerBean.getHandback:()Ljava/lang/Object;
14: invokeinterface javax.management.MBeanServer.addNotificationListener:(Ljavax/management/ObjectName;Ljavax/management/NotificationListener;Ljavax/management/NotificationFilter;Ljava/lang/Object;)V
end local 6 15: iinc 7 1
StackMap locals:
StackMap stack:
16: iload 7
iload 8
if_icmplt 11
end local 5 17: goto 20
18: StackMap locals: org.springframework.jmx.export.MBeanExporter org.springframework.jmx.export.NotificationListenerBean int int org.springframework.jmx.export.NotificationListenerBean[]
StackMap stack: java.lang.Throwable
astore 5
start local 5 19: new org.springframework.jmx.export.MBeanExportException
dup
ldc "Unable to register NotificationListener"
aload 5
invokespecial org.springframework.jmx.export.MBeanExportException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 5 end local 1 20: StackMap locals: org.springframework.jmx.export.MBeanExporter top int int org.springframework.jmx.export.NotificationListenerBean[]
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
21: iload 2
iload 3
if_icmplt 5
22: StackMap locals: org.springframework.jmx.export.MBeanExporter
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lorg/springframework/jmx/export/MBeanExporter;
6 20 1 bean Lorg/springframework/jmx/export/NotificationListenerBean;
7 17 5 mappedObjectNames [Ljavax/management/ObjectName;
12 15 6 mappedObjectName Ljavax/management/ObjectName;
19 20 5 ex Ljava/lang/Throwable;
Exception table:
from to target type
6 17 18 Class java.lang.Throwable
Exceptions:
throws org.springframework.jmx.export.MBeanExportException
private void unregisterNotificationListeners();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.jmx.export.MBeanExporter.server:Ljavax/management/MBeanServer;
ifnull 2
1: aload 0
getfield org.springframework.jmx.export.MBeanExporter.registeredNotificationListeners:Ljava/util/Map;
aload 0
invokedynamic accept(Lorg/springframework/jmx/export/MBeanExporter;)Ljava/util/function/BiConsumer;
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;)V
org/springframework/jmx/export/MBeanExporter.lambda$4(Lorg/springframework/jmx/export/NotificationListenerBean;[Ljavax/management/ObjectName;)V (7)
(Lorg/springframework/jmx/export/NotificationListenerBean;[Ljavax/management/ObjectName;)V
invokeinterface java.util.Map.forEach:(Ljava/util/function/BiConsumer;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.jmx.export.MBeanExporter.registeredNotificationListeners:Ljava/util/Map;
invokeinterface java.util.Map.clear:()V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/jmx/export/MBeanExporter;
protected void onRegister(javax.management.ObjectName);
descriptor: (Ljavax/management/ObjectName;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.springframework.jmx.export.MBeanExporter.notifyListenersOfRegistration:(Ljavax/management/ObjectName;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/jmx/export/MBeanExporter;
0 2 1 objectName Ljavax/management/ObjectName;
MethodParameters:
Name Flags
objectName
protected void onUnregister(javax.management.ObjectName);
descriptor: (Ljavax/management/ObjectName;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.springframework.jmx.export.MBeanExporter.notifyListenersOfUnregistration:(Ljavax/management/ObjectName;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/jmx/export/MBeanExporter;
0 2 1 objectName Ljavax/management/ObjectName;
MethodParameters:
Name Flags
objectName
private void notifyListenersOfRegistration(javax.management.ObjectName);
descriptor: (Ljavax/management/ObjectName;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield org.springframework.jmx.export.MBeanExporter.listeners:[Lorg/springframework/jmx/export/MBeanExporterListener;
ifnull 6
1: aload 0
getfield org.springframework.jmx.export.MBeanExporter.listeners:[Lorg/springframework/jmx/export/MBeanExporterListener;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 5
StackMap locals: org.springframework.jmx.export.MBeanExporter javax.management.ObjectName top int int org.springframework.jmx.export.MBeanExporterListener[]
StackMap stack:
2: aload 5
iload 3
aaload
astore 2
start local 2 3: aload 2
aload 1
invokeinterface org.springframework.jmx.export.MBeanExporterListener.mbeanRegistered:(Ljavax/management/ObjectName;)V
end local 2 4: iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
iload 4
if_icmplt 2
6: StackMap locals: org.springframework.jmx.export.MBeanExporter javax.management.ObjectName
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/springframework/jmx/export/MBeanExporter;
0 7 1 objectName Ljavax/management/ObjectName;
3 4 2 listener Lorg/springframework/jmx/export/MBeanExporterListener;
MethodParameters:
Name Flags
objectName
private void notifyListenersOfUnregistration(javax.management.ObjectName);
descriptor: (Ljavax/management/ObjectName;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield org.springframework.jmx.export.MBeanExporter.listeners:[Lorg/springframework/jmx/export/MBeanExporterListener;
ifnull 6
1: aload 0
getfield org.springframework.jmx.export.MBeanExporter.listeners:[Lorg/springframework/jmx/export/MBeanExporterListener;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 5
StackMap locals: org.springframework.jmx.export.MBeanExporter javax.management.ObjectName top int int org.springframework.jmx.export.MBeanExporterListener[]
StackMap stack:
2: aload 5
iload 3
aaload
astore 2
start local 2 3: aload 2
aload 1
invokeinterface org.springframework.jmx.export.MBeanExporterListener.mbeanUnregistered:(Ljavax/management/ObjectName;)V
end local 2 4: iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
iload 4
if_icmplt 2
6: StackMap locals: org.springframework.jmx.export.MBeanExporter javax.management.ObjectName
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/springframework/jmx/export/MBeanExporter;
0 7 1 objectName Ljavax/management/ObjectName;
3 4 2 listener Lorg/springframework/jmx/export/MBeanExporterListener;
MethodParameters:
Name Flags
objectName
private static void lambda$0(java.util.List, java.lang.Object, javax.management.NotificationListener);
descriptor: (Ljava/util/List;Ljava/lang/Object;Ljavax/management/NotificationListener;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=4, args_size=3
start local 1 start local 2 0: new org.springframework.jmx.export.NotificationListenerBean
dup
aload 2
invokespecial org.springframework.jmx.export.NotificationListenerBean.<init>:(Ljavax/management/NotificationListener;)V
astore 3
start local 3 1: aload 1
ifnull 3
ldc "*"
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 3
2: aload 3
aload 1
invokevirtual org.springframework.jmx.export.NotificationListenerBean.setMappedObjectName:(Ljava/lang/Object;)V
3: StackMap locals: org.springframework.jmx.export.NotificationListenerBean
StackMap stack:
aload 0
aload 3
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 3 4: return
end local 2 end local 1 LocalVariableTable:
Start End Slot Name Signature
0 5 1 key Ljava/lang/Object;
0 5 2 listener Ljavax/management/NotificationListener;
1 4 3 bean Lorg/springframework/jmx/export/NotificationListenerBean;
private boolean lambda$1(java.lang.Class, java.lang.String);
descriptor: (Ljava/lang/Class;Ljava/lang/String;)Z
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual org.springframework.jmx.export.MBeanExporter.isMBean:(Ljava/lang/Class;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/jmx/export/MBeanExporter;
0 1 1 beanClass Ljava/lang/Class<*>;
0 1 2 beanName Ljava/lang/String;
private void lambda$3(java.lang.String, java.lang.Object);
descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
aload 1
invokevirtual org.springframework.jmx.export.MBeanExporter.registerBeanNameOrInstance:(Ljava/lang/Object;Ljava/lang/String;)Ljavax/management/ObjectName;
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/jmx/export/MBeanExporter;
0 1 1 beanName Ljava/lang/String;
0 1 2 instance Ljava/lang/Object;
private void lambda$4(org.springframework.jmx.export.NotificationListenerBean, javax.management.ObjectName[]);
descriptor: (Lorg/springframework/jmx/export/NotificationListenerBean;[Ljavax/management/ObjectName;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=5, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 2
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 10
StackMap locals: org.springframework.jmx.export.MBeanExporter org.springframework.jmx.export.NotificationListenerBean javax.management.ObjectName[] top int int javax.management.ObjectName[]
StackMap stack:
1: aload 6
iload 4
aaload
astore 3
start local 3 2: aload 0
getfield org.springframework.jmx.export.MBeanExporter.server:Ljavax/management/MBeanServer;
aload 3
aload 1
invokevirtual org.springframework.jmx.export.NotificationListenerBean.getNotificationListener:()Ljavax/management/NotificationListener;
3: aload 1
invokevirtual org.springframework.jmx.export.NotificationListenerBean.getNotificationFilter:()Ljavax/management/NotificationFilter;
aload 1
invokevirtual org.springframework.jmx.export.NotificationListenerBean.getHandback:()Ljava/lang/Object;
4: invokeinterface javax.management.MBeanServer.removeNotificationListener:(Ljavax/management/ObjectName;Ljavax/management/NotificationListener;Ljavax/management/NotificationFilter;Ljava/lang/Object;)V
5: goto 9
6: StackMap locals: org.springframework.jmx.export.MBeanExporter org.springframework.jmx.export.NotificationListenerBean javax.management.ObjectName[] javax.management.ObjectName int int javax.management.ObjectName[]
StackMap stack: java.lang.Throwable
astore 7
start local 7 7: aload 0
getfield org.springframework.jmx.export.MBeanExporter.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 9
8: aload 0
getfield org.springframework.jmx.export.MBeanExporter.logger:Lorg/apache/commons/logging/Log;
ldc "Unable to unregister NotificationListener"
aload 7
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 7 end local 3 9: StackMap locals: org.springframework.jmx.export.MBeanExporter org.springframework.jmx.export.NotificationListenerBean javax.management.ObjectName[] top int int javax.management.ObjectName[]
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
10: iload 4
iload 5
if_icmplt 1
11: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/springframework/jmx/export/MBeanExporter;
0 12 1 bean Lorg/springframework/jmx/export/NotificationListenerBean;
0 12 2 mappedObjectNames [Ljavax/management/ObjectName;
2 9 3 mappedObjectName Ljavax/management/ObjectName;
7 9 7 ex Ljava/lang/Throwable;
Exception table:
from to target type
2 5 6 Class java.lang.Throwable
}
SourceFile: "MBeanExporter.java"
NestMembers:
org.springframework.jmx.export.MBeanExporter$AutodetectCallback org.springframework.jmx.export.MBeanExporter$NotificationPublisherAwareLazyTargetSource
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
private abstract AutodetectCallback = org.springframework.jmx.export.MBeanExporter$AutodetectCallback of org.springframework.jmx.export.MBeanExporter
private NotificationPublisherAwareLazyTargetSource = org.springframework.jmx.export.MBeanExporter$NotificationPublisherAwareLazyTargetSource of org.springframework.jmx.export.MBeanExporter