public class org.springframework.jmx.export.notification.ModelMBeanNotificationPublisher implements org.springframework.jmx.export.notification.NotificationPublisher
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.springframework.jmx.export.notification.ModelMBeanNotificationPublisher
super_class: java.lang.Object
{
private final javax.management.modelmbean.ModelMBeanNotificationBroadcaster modelMBean;
descriptor: Ljavax/management/modelmbean/ModelMBeanNotificationBroadcaster;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final javax.management.ObjectName objectName;
descriptor: Ljavax/management/ObjectName;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.Object managedResource;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(javax.management.modelmbean.ModelMBeanNotificationBroadcaster, javax.management.ObjectName, java.lang.Object);
descriptor: (Ljavax/management/modelmbean/ModelMBeanNotificationBroadcaster;Ljavax/management/ObjectName;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
ldc "'modelMBean' must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
2: aload 2
ldc "'objectName' must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
3: aload 3
ldc "'managedResource' must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
4: aload 0
aload 1
putfield org.springframework.jmx.export.notification.ModelMBeanNotificationPublisher.modelMBean:Ljavax/management/modelmbean/ModelMBeanNotificationBroadcaster;
5: aload 0
aload 2
putfield org.springframework.jmx.export.notification.ModelMBeanNotificationPublisher.objectName:Ljavax/management/ObjectName;
6: aload 0
aload 3
putfield org.springframework.jmx.export.notification.ModelMBeanNotificationPublisher.managedResource:Ljava/lang/Object;
7: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/springframework/jmx/export/notification/ModelMBeanNotificationPublisher;
0 8 1 modelMBean Ljavax/management/modelmbean/ModelMBeanNotificationBroadcaster;
0 8 2 objectName Ljavax/management/ObjectName;
0 8 3 managedResource Ljava/lang/Object;
MethodParameters:
Name Flags
modelMBean
objectName
managedResource
public void sendNotification(javax.management.Notification);
descriptor: (Ljavax/management/Notification;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ldc "Notification 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.notification.ModelMBeanNotificationPublisher.replaceNotificationSourceIfNecessary:(Ljavax/management/Notification;)V
2: aload 1
instanceof javax.management.AttributeChangeNotification
ifeq 5
3: aload 0
getfield org.springframework.jmx.export.notification.ModelMBeanNotificationPublisher.modelMBean:Ljavax/management/modelmbean/ModelMBeanNotificationBroadcaster;
aload 1
checkcast javax.management.AttributeChangeNotification
invokeinterface javax.management.modelmbean.ModelMBeanNotificationBroadcaster.sendAttributeChangeNotification:(Ljavax/management/AttributeChangeNotification;)V
4: goto 9
5: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.jmx.export.notification.ModelMBeanNotificationPublisher.modelMBean:Ljavax/management/modelmbean/ModelMBeanNotificationBroadcaster;
aload 1
invokeinterface javax.management.modelmbean.ModelMBeanNotificationBroadcaster.sendNotification:(Ljavax/management/Notification;)V
6: goto 9
7: StackMap locals:
StackMap stack: javax.management.MBeanException
astore 2
start local 2 8: new org.springframework.jmx.export.notification.UnableToSendNotificationException
dup
new java.lang.StringBuilder
dup
ldc "Unable to send notification ["
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 2
invokespecial org.springframework.jmx.export.notification.UnableToSendNotificationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/springframework/jmx/export/notification/ModelMBeanNotificationPublisher;
0 10 1 notification Ljavax/management/Notification;
8 9 2 ex Ljavax/management/MBeanException;
Exception table:
from to target type
2 6 7 Class javax.management.MBeanException
MethodParameters:
Name Flags
notification
private void replaceNotificationSourceIfNecessary(javax.management.Notification);
descriptor: (Ljavax/management/Notification;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual javax.management.Notification.getSource:()Ljava/lang/Object;
ifnull 1
aload 1
invokevirtual javax.management.Notification.getSource:()Ljava/lang/Object;
aload 0
getfield org.springframework.jmx.export.notification.ModelMBeanNotificationPublisher.managedResource:Ljava/lang/Object;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 2
1: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield org.springframework.jmx.export.notification.ModelMBeanNotificationPublisher.objectName:Ljavax/management/ObjectName;
invokevirtual javax.management.Notification.setSource:(Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/jmx/export/notification/ModelMBeanNotificationPublisher;
0 3 1 notification Ljavax/management/Notification;
MethodParameters:
Name Flags
notification
}
SourceFile: "ModelMBeanNotificationPublisher.java"