public class org.springframework.jmx.support.MBeanRegistrationSupport
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.springframework.jmx.support.MBeanRegistrationSupport
super_class: java.lang.Object
{
protected final org.apache.commons.logging.Log logger;
descriptor: Lorg/apache/commons/logging/Log;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected javax.management.MBeanServer server;
descriptor: Ljavax/management/MBeanServer;
flags: (0x0004) ACC_PROTECTED
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private final java.util.Set<javax.management.ObjectName> registeredBeans;
descriptor: Ljava/util/Set;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Set<Ljavax/management/ObjectName;>;
private org.springframework.jmx.support.RegistrationPolicy registrationPolicy;
descriptor: Lorg/springframework/jmx/support/RegistrationPolicy;
flags: (0x0002) ACC_PRIVATE
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic org.apache.commons.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
putfield org.springframework.jmx.support.MBeanRegistrationSupport.logger:Lorg/apache/commons/logging/Log;
2: aload 0
new java.util.LinkedHashSet
dup
invokespecial java.util.LinkedHashSet.<init>:()V
putfield org.springframework.jmx.support.MBeanRegistrationSupport.registeredBeans:Ljava/util/Set;
3: aload 0
getstatic org.springframework.jmx.support.RegistrationPolicy.FAIL_ON_EXISTING:Lorg/springframework/jmx/support/RegistrationPolicy;
putfield org.springframework.jmx.support.MBeanRegistrationSupport.registrationPolicy:Lorg/springframework/jmx/support/RegistrationPolicy;
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/springframework/jmx/support/MBeanRegistrationSupport;
public void setServer(javax.management.MBeanServer);
descriptor: (Ljavax/management/MBeanServer;)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.support.MBeanRegistrationSupport.server:Ljavax/management/MBeanServer;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/jmx/support/MBeanRegistrationSupport;
0 2 1 server Ljavax/management/MBeanServer;
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
server
public final javax.management.MBeanServer getServer();
descriptor: ()Ljavax/management/MBeanServer;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.jmx.support.MBeanRegistrationSupport.server:Ljavax/management/MBeanServer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/jmx/support/MBeanRegistrationSupport;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
public void setRegistrationPolicy(org.springframework.jmx.support.RegistrationPolicy);
descriptor: (Lorg/springframework/jmx/support/RegistrationPolicy;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc "RegistrationPolicy must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: aload 0
aload 1
putfield org.springframework.jmx.support.MBeanRegistrationSupport.registrationPolicy:Lorg/springframework/jmx/support/RegistrationPolicy;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/jmx/support/MBeanRegistrationSupport;
0 3 1 registrationPolicy Lorg/springframework/jmx/support/RegistrationPolicy;
MethodParameters:
Name Flags
registrationPolicy
protected void doRegister(java.lang.Object, javax.management.ObjectName);
descriptor: (Ljava/lang/Object;Ljavax/management/ObjectName;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.springframework.jmx.support.MBeanRegistrationSupport.server:Ljavax/management/MBeanServer;
ifnull 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ldc "No MBeanServer set"
invokestatic org.springframework.util.Assert.state:(ZLjava/lang/String;)V
3: aload 0
getfield org.springframework.jmx.support.MBeanRegistrationSupport.registeredBeans:Ljava/util/Set;
dup
astore 4
monitorenter
4: aconst_null
astore 5
start local 5 5: aload 0
getfield org.springframework.jmx.support.MBeanRegistrationSupport.server:Ljavax/management/MBeanServer;
aload 1
aload 2
invokeinterface javax.management.MBeanServer.registerMBean:(Ljava/lang/Object;Ljavax/management/ObjectName;)Ljavax/management/ObjectInstance;
astore 5
6: goto 23
7: StackMap locals: org.springframework.jmx.support.MBeanRegistrationSupport java.lang.Object javax.management.ObjectName top java.util.Set javax.management.ObjectInstance
StackMap stack: javax.management.InstanceAlreadyExistsException
astore 6
start local 6 8: aload 0
getfield org.springframework.jmx.support.MBeanRegistrationSupport.registrationPolicy:Lorg/springframework/jmx/support/RegistrationPolicy;
getstatic org.springframework.jmx.support.RegistrationPolicy.IGNORE_EXISTING:Lorg/springframework/jmx/support/RegistrationPolicy;
if_acmpne 12
9: aload 0
getfield org.springframework.jmx.support.MBeanRegistrationSupport.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 23
10: aload 0
getfield org.springframework.jmx.support.MBeanRegistrationSupport.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Ignoring existing MBean at ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
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;
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
11: goto 23
12: StackMap locals: javax.management.InstanceAlreadyExistsException
StackMap stack:
aload 0
getfield org.springframework.jmx.support.MBeanRegistrationSupport.registrationPolicy:Lorg/springframework/jmx/support/RegistrationPolicy;
getstatic org.springframework.jmx.support.RegistrationPolicy.REPLACE_EXISTING:Lorg/springframework/jmx/support/RegistrationPolicy;
if_acmpne 22
13: aload 0
getfield org.springframework.jmx.support.MBeanRegistrationSupport.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 15
14: aload 0
getfield org.springframework.jmx.support.MBeanRegistrationSupport.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Replacing existing MBean at ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
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;
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
15: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.jmx.support.MBeanRegistrationSupport.server:Ljavax/management/MBeanServer;
aload 2
invokeinterface javax.management.MBeanServer.unregisterMBean:(Ljavax/management/ObjectName;)V
16: aload 0
getfield org.springframework.jmx.support.MBeanRegistrationSupport.server:Ljavax/management/MBeanServer;
aload 1
aload 2
invokeinterface javax.management.MBeanServer.registerMBean:(Ljava/lang/Object;Ljavax/management/ObjectName;)Ljavax/management/ObjectInstance;
astore 5
17: goto 23
18: StackMap locals:
StackMap stack: javax.management.InstanceNotFoundException
astore 7
start local 7 19: aload 0
getfield org.springframework.jmx.support.MBeanRegistrationSupport.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isInfoEnabled:()Z
ifeq 21
20: aload 0
getfield org.springframework.jmx.support.MBeanRegistrationSupport.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Unable to replace existing MBean at ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
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 7
invokeinterface org.apache.commons.logging.Log.info:(Ljava/lang/Object;Ljava/lang/Throwable;)V
21: StackMap locals: javax.management.InstanceNotFoundException
StackMap stack:
aload 6
athrow
end local 7 22: StackMap locals:
StackMap stack:
aload 6
athrow
end local 6 23: StackMap locals:
StackMap stack:
aload 5
ifnull 24
aload 5
invokevirtual javax.management.ObjectInstance.getObjectName:()Ljavax/management/ObjectName;
goto 25
StackMap locals:
StackMap stack:
24: aconst_null
StackMap locals:
StackMap stack: javax.management.ObjectName
25: astore 3
start local 3 26: aload 3
ifnonnull 28
27: aload 2
astore 3
28: StackMap locals: org.springframework.jmx.support.MBeanRegistrationSupport java.lang.Object javax.management.ObjectName javax.management.ObjectName java.util.Set javax.management.ObjectInstance
StackMap stack:
aload 0
getfield org.springframework.jmx.support.MBeanRegistrationSupport.registeredBeans:Ljava/util/Set;
aload 3
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 5 29: aload 4
monitorexit
30: goto 33
end local 3 StackMap locals: org.springframework.jmx.support.MBeanRegistrationSupport java.lang.Object javax.management.ObjectName top java.util.Set
StackMap stack: java.lang.Throwable
31: aload 4
monitorexit
32: athrow
start local 3 33: StackMap locals: org.springframework.jmx.support.MBeanRegistrationSupport java.lang.Object javax.management.ObjectName javax.management.ObjectName
StackMap stack:
aload 0
aload 3
aload 1
invokevirtual org.springframework.jmx.support.MBeanRegistrationSupport.onRegister:(Ljavax/management/ObjectName;Ljava/lang/Object;)V
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/support/MBeanRegistrationSupport;
0 35 1 mbean Ljava/lang/Object;
0 35 2 objectName Ljavax/management/ObjectName;
26 31 3 actualObjectName Ljavax/management/ObjectName;
33 35 3 actualObjectName Ljavax/management/ObjectName;
5 29 5 registeredBean Ljavax/management/ObjectInstance;
8 23 6 ex Ljavax/management/InstanceAlreadyExistsException;
19 22 7 ex2 Ljavax/management/InstanceNotFoundException;
Exception table:
from to target type
5 6 7 Class javax.management.InstanceAlreadyExistsException
13 17 18 Class javax.management.InstanceNotFoundException
4 30 31 any
31 32 31 any
Exceptions:
throws javax.management.JMException
MethodParameters:
Name Flags
mbean
objectName
protected void unregisterBeans();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
getfield org.springframework.jmx.support.MBeanRegistrationSupport.registeredBeans:Ljava/util/Set;
dup
astore 2
monitorenter
1: new java.util.LinkedHashSet
dup
aload 0
getfield org.springframework.jmx.support.MBeanRegistrationSupport.registeredBeans:Ljava/util/Set;
invokespecial java.util.LinkedHashSet.<init>:(Ljava/util/Collection;)V
astore 1
start local 1 2: aload 2
monitorexit
3: goto 6
end local 1 StackMap locals: org.springframework.jmx.support.MBeanRegistrationSupport top java.util.Set
StackMap stack: java.lang.Throwable
4: aload 2
monitorexit
5: athrow
start local 1 6: StackMap locals: org.springframework.jmx.support.MBeanRegistrationSupport java.util.Set
StackMap stack:
aload 1
invokeinterface java.util.Set.isEmpty:()Z
ifne 12
7: aload 0
getfield org.springframework.jmx.support.MBeanRegistrationSupport.logger:Lorg/apache/commons/logging/Log;
ldc "Unregistering JMX-exposed beans"
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
8: aload 1
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
goto 11
StackMap locals: org.springframework.jmx.support.MBeanRegistrationSupport java.util.Set top java.util.Iterator
StackMap stack:
9: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.management.ObjectName
astore 2
start local 2 10: aload 0
aload 2
invokevirtual org.springframework.jmx.support.MBeanRegistrationSupport.doUnregister:(Ljavax/management/ObjectName;)V
end local 2 11: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
12: StackMap locals: org.springframework.jmx.support.MBeanRegistrationSupport java.util.Set
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/springframework/jmx/support/MBeanRegistrationSupport;
2 4 1 snapshot Ljava/util/Set<Ljavax/management/ObjectName;>;
6 13 1 snapshot Ljava/util/Set<Ljavax/management/ObjectName;>;
10 11 2 objectName Ljavax/management/ObjectName;
Exception table:
from to target type
1 3 4 any
4 5 4 any
protected void doUnregister(javax.management.ObjectName);
descriptor: (Ljavax/management/ObjectName;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield org.springframework.jmx.support.MBeanRegistrationSupport.server:Ljavax/management/MBeanServer;
ifnull 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ldc "No MBeanServer set"
invokestatic org.springframework.util.Assert.state:(ZLjava/lang/String;)V
3: iconst_0
istore 2
start local 2 4: aload 0
getfield org.springframework.jmx.support.MBeanRegistrationSupport.registeredBeans:Ljava/util/Set;
dup
astore 3
monitorenter
5: aload 0
getfield org.springframework.jmx.support.MBeanRegistrationSupport.registeredBeans:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
ifeq 18
6: aload 0
getfield org.springframework.jmx.support.MBeanRegistrationSupport.server:Ljavax/management/MBeanServer;
aload 1
invokeinterface javax.management.MBeanServer.isRegistered:(Ljavax/management/ObjectName;)Z
ifeq 10
7: aload 0
getfield org.springframework.jmx.support.MBeanRegistrationSupport.server:Ljavax/management/MBeanServer;
aload 1
invokeinterface javax.management.MBeanServer.unregisterMBean:(Ljavax/management/ObjectName;)V
8: iconst_1
istore 2
9: goto 18
10: StackMap locals: int java.util.Set
StackMap stack:
aload 0
getfield org.springframework.jmx.support.MBeanRegistrationSupport.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isInfoEnabled:()Z
ifeq 18
11: aload 0
getfield org.springframework.jmx.support.MBeanRegistrationSupport.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Could not unregister MBean ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "] as said MBean "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
12: ldc "is not registered (perhaps already unregistered by an external process)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
13: invokeinterface org.apache.commons.logging.Log.info:(Ljava/lang/Object;)V
14: goto 18
15: StackMap locals:
StackMap stack: javax.management.JMException
astore 4
start local 4 16: aload 0
getfield org.springframework.jmx.support.MBeanRegistrationSupport.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isInfoEnabled:()Z
ifeq 18
17: aload 0
getfield org.springframework.jmx.support.MBeanRegistrationSupport.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Could not unregister 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 4
invokeinterface org.apache.commons.logging.Log.info:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 4 18: StackMap locals:
StackMap stack:
aload 3
monitorexit
19: goto 22
StackMap locals:
StackMap stack: java.lang.Throwable
20: aload 3
monitorexit
21: athrow
22: StackMap locals:
StackMap stack:
iload 2
ifeq 24
23: aload 0
aload 1
invokevirtual org.springframework.jmx.support.MBeanRegistrationSupport.onUnregister:(Ljavax/management/ObjectName;)V
24: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lorg/springframework/jmx/support/MBeanRegistrationSupport;
0 25 1 objectName Ljavax/management/ObjectName;
4 25 2 actuallyUnregistered Z
16 18 4 ex Ljavax/management/JMException;
Exception table:
from to target type
6 14 15 Class javax.management.JMException
5 19 20 any
20 21 20 any
MethodParameters:
Name Flags
objectName
protected final javax.management.ObjectName[] getRegisteredObjectNames();
descriptor: ()[Ljavax/management/ObjectName;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield org.springframework.jmx.support.MBeanRegistrationSupport.registeredBeans:Ljava/util/Set;
dup
astore 1
monitorenter
1: aload 0
getfield org.springframework.jmx.support.MBeanRegistrationSupport.registeredBeans:Ljava/util/Set;
iconst_0
anewarray javax.management.ObjectName
invokeinterface java.util.Set.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast javax.management.ObjectName[]
aload 1
monitorexit
2: areturn
3: StackMap locals: org.springframework.jmx.support.MBeanRegistrationSupport java.util.Set
StackMap stack: java.lang.Throwable
aload 1
monitorexit
4: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/springframework/jmx/support/MBeanRegistrationSupport;
Exception table:
from to target type
1 2 3 any
3 4 3 any
protected void onRegister(javax.management.ObjectName, java.lang.Object);
descriptor: (Ljavax/management/ObjectName;Ljava/lang/Object;)V
flags: (0x0004) ACC_PROTECTED
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.support.MBeanRegistrationSupport.onRegister:(Ljavax/management/ObjectName;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/jmx/support/MBeanRegistrationSupport;
0 2 1 objectName Ljavax/management/ObjectName;
0 2 2 mbean Ljava/lang/Object;
MethodParameters:
Name Flags
objectName
mbean
protected void onRegister(javax.management.ObjectName);
descriptor: (Ljavax/management/ObjectName;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/jmx/support/MBeanRegistrationSupport;
0 1 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=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/jmx/support/MBeanRegistrationSupport;
0 1 1 objectName Ljavax/management/ObjectName;
MethodParameters:
Name Flags
objectName
}
SourceFile: "MBeanRegistrationSupport.java"