class org.springframework.context.config.MBeanServerBeanDefinitionParser extends org.springframework.beans.factory.xml.AbstractBeanDefinitionParser
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.springframework.context.config.MBeanServerBeanDefinitionParser
  super_class: org.springframework.beans.factory.xml.AbstractBeanDefinitionParser
{
  private static final java.lang.String MBEAN_SERVER_BEAN_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "mbeanServer"

  private static final java.lang.String AGENT_ID_ATTRIBUTE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "agent-id"

  private static final boolean weblogicPresent;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final boolean webspherePresent;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 57
            ldc Lorg/springframework/context/config/MBeanServerBeanDefinitionParser;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            astore 0 /* classLoader */
        start local 0 // java.lang.ClassLoader classLoader
         1: .line 58
            ldc "weblogic.management.Helper"
            aload 0 /* classLoader */
            invokestatic org.springframework.util.ClassUtils.isPresent:(Ljava/lang/String;Ljava/lang/ClassLoader;)Z
            putstatic org.springframework.context.config.MBeanServerBeanDefinitionParser.weblogicPresent:Z
         2: .line 59
            ldc "com.ibm.websphere.management.AdminServiceFactory"
            aload 0 /* classLoader */
            invokestatic org.springframework.util.ClassUtils.isPresent:(Ljava/lang/String;Ljava/lang/ClassLoader;)Z
            putstatic org.springframework.context.config.MBeanServerBeanDefinitionParser.webspherePresent:Z
        end local 0 // java.lang.ClassLoader classLoader
         3: .line 60
            return
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            1    3     0  classLoader  Ljava/lang/ClassLoader;

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.context.config.MBeanServerBeanDefinitionParser this
         0: .line 45
            aload 0 /* this */
            invokespecial org.springframework.beans.factory.xml.AbstractBeanDefinitionParser.<init>:()V
            return
        end local 0 // org.springframework.context.config.MBeanServerBeanDefinitionParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/context/config/MBeanServerBeanDefinitionParser;

  protected java.lang.String resolveId(org.w3c.dom.Element, org.springframework.beans.factory.support.AbstractBeanDefinition, org.springframework.beans.factory.xml.ParserContext);
    descriptor: (Lorg/w3c/dom/Element;Lorg/springframework/beans/factory/support/AbstractBeanDefinition;Lorg/springframework/beans/factory/xml/ParserContext;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=5, args_size=4
        start local 0 // org.springframework.context.config.MBeanServerBeanDefinitionParser this
        start local 1 // org.w3c.dom.Element element
        start local 2 // org.springframework.beans.factory.support.AbstractBeanDefinition definition
        start local 3 // org.springframework.beans.factory.xml.ParserContext parserContext
         0: .line 65
            aload 1 /* element */
            ldc "id"
            invokeinterface org.w3c.dom.Element.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* id */
        start local 4 // java.lang.String id
         1: .line 66
            aload 4 /* id */
            invokestatic org.springframework.util.StringUtils.hasText:(Ljava/lang/String;)Z
            ifeq 2
            aload 4 /* id */
            goto 3
      StackMap locals: java.lang.String
      StackMap stack:
         2: ldc "mbeanServer"
      StackMap locals:
      StackMap stack: java.lang.String
         3: areturn
        end local 4 // java.lang.String id
        end local 3 // org.springframework.beans.factory.xml.ParserContext parserContext
        end local 2 // org.springframework.beans.factory.support.AbstractBeanDefinition definition
        end local 1 // org.w3c.dom.Element element
        end local 0 // org.springframework.context.config.MBeanServerBeanDefinitionParser this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Lorg/springframework/context/config/MBeanServerBeanDefinitionParser;
            0    4     1        element  Lorg/w3c/dom/Element;
            0    4     2     definition  Lorg/springframework/beans/factory/support/AbstractBeanDefinition;
            0    4     3  parserContext  Lorg/springframework/beans/factory/xml/ParserContext;
            1    4     4             id  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      element        
      definition     
      parserContext  

  protected org.springframework.beans.factory.support.AbstractBeanDefinition parseInternal(org.w3c.dom.Element, org.springframework.beans.factory.xml.ParserContext);
    descriptor: (Lorg/w3c/dom/Element;Lorg/springframework/beans/factory/xml/ParserContext;)Lorg/springframework/beans/factory/support/AbstractBeanDefinition;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // org.springframework.context.config.MBeanServerBeanDefinitionParser this
        start local 1 // org.w3c.dom.Element element
        start local 2 // org.springframework.beans.factory.xml.ParserContext parserContext
         0: .line 71
            aload 1 /* element */
            ldc "agent-id"
            invokeinterface org.w3c.dom.Element.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* agentId */
        start local 3 // java.lang.String agentId
         1: .line 72
            aload 3 /* agentId */
            invokestatic org.springframework.util.StringUtils.hasText:(Ljava/lang/String;)Z
            ifeq 5
         2: .line 73
            new org.springframework.beans.factory.support.RootBeanDefinition
            dup
            ldc Lorg/springframework/jmx/support/MBeanServerFactoryBean;
            invokespecial org.springframework.beans.factory.support.RootBeanDefinition.<init>:(Ljava/lang/Class;)V
            astore 4 /* bd */
        start local 4 // org.springframework.beans.factory.support.RootBeanDefinition bd
         3: .line 74
            aload 4 /* bd */
            invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.getPropertyValues:()Lorg/springframework/beans/MutablePropertyValues;
            ldc "agentId"
            aload 3 /* agentId */
            invokevirtual org.springframework.beans.MutablePropertyValues.add:(Ljava/lang/String;Ljava/lang/Object;)Lorg/springframework/beans/MutablePropertyValues;
            pop
         4: .line 75
            aload 4 /* bd */
            areturn
        end local 4 // org.springframework.beans.factory.support.RootBeanDefinition bd
         5: .line 77
      StackMap locals: java.lang.String
      StackMap stack:
            invokestatic org.springframework.context.config.MBeanServerBeanDefinitionParser.findServerForSpecialEnvironment:()Lorg/springframework/beans/factory/support/AbstractBeanDefinition;
            astore 4 /* specialServer */
        start local 4 // org.springframework.beans.factory.support.AbstractBeanDefinition specialServer
         6: .line 78
            aload 4 /* specialServer */
            ifnull 8
         7: .line 79
            aload 4 /* specialServer */
            areturn
         8: .line 81
      StackMap locals: org.springframework.beans.factory.support.AbstractBeanDefinition
      StackMap stack:
            new org.springframework.beans.factory.support.RootBeanDefinition
            dup
            ldc Lorg/springframework/jmx/support/MBeanServerFactoryBean;
            invokespecial org.springframework.beans.factory.support.RootBeanDefinition.<init>:(Ljava/lang/Class;)V
            astore 5 /* bd */
        start local 5 // org.springframework.beans.factory.support.RootBeanDefinition bd
         9: .line 82
            aload 5 /* bd */
            invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.getPropertyValues:()Lorg/springframework/beans/MutablePropertyValues;
            ldc "locateExistingServerIfPossible"
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            invokevirtual org.springframework.beans.MutablePropertyValues.add:(Ljava/lang/String;Ljava/lang/Object;)Lorg/springframework/beans/MutablePropertyValues;
            pop
        10: .line 85
            aload 5 /* bd */
            iconst_2
            invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.setRole:(I)V
        11: .line 86
            aload 5 /* bd */
            aload 2 /* parserContext */
            aload 1 /* element */
            invokevirtual org.springframework.beans.factory.xml.ParserContext.extractSource:(Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.setSource:(Ljava/lang/Object;)V
        12: .line 87
            aload 5 /* bd */
            areturn
        end local 5 // org.springframework.beans.factory.support.RootBeanDefinition bd
        end local 4 // org.springframework.beans.factory.support.AbstractBeanDefinition specialServer
        end local 3 // java.lang.String agentId
        end local 2 // org.springframework.beans.factory.xml.ParserContext parserContext
        end local 1 // org.w3c.dom.Element element
        end local 0 // org.springframework.context.config.MBeanServerBeanDefinitionParser this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   13     0           this  Lorg/springframework/context/config/MBeanServerBeanDefinitionParser;
            0   13     1        element  Lorg/w3c/dom/Element;
            0   13     2  parserContext  Lorg/springframework/beans/factory/xml/ParserContext;
            1   13     3        agentId  Ljava/lang/String;
            3    5     4             bd  Lorg/springframework/beans/factory/support/RootBeanDefinition;
            6   13     4  specialServer  Lorg/springframework/beans/factory/support/AbstractBeanDefinition;
            9   13     5             bd  Lorg/springframework/beans/factory/support/RootBeanDefinition;
    MethodParameters:
               Name  Flags
      element        
      parserContext  

  static org.springframework.beans.factory.support.AbstractBeanDefinition findServerForSpecialEnvironment();
    descriptor: ()Lorg/springframework/beans/factory/support/AbstractBeanDefinition;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 92
            getstatic org.springframework.context.config.MBeanServerBeanDefinitionParser.weblogicPresent:Z
            ifeq 4
         1: .line 93
            new org.springframework.beans.factory.support.RootBeanDefinition
            dup
            ldc Lorg/springframework/jndi/JndiObjectFactoryBean;
            invokespecial org.springframework.beans.factory.support.RootBeanDefinition.<init>:(Ljava/lang/Class;)V
            astore 0 /* bd */
        start local 0 // org.springframework.beans.factory.support.RootBeanDefinition bd
         2: .line 94
            aload 0 /* bd */
            invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.getPropertyValues:()Lorg/springframework/beans/MutablePropertyValues;
            ldc "jndiName"
            ldc "java:comp/env/jmx/runtime"
            invokevirtual org.springframework.beans.MutablePropertyValues.add:(Ljava/lang/String;Ljava/lang/Object;)Lorg/springframework/beans/MutablePropertyValues;
            pop
         3: .line 95
            aload 0 /* bd */
            areturn
        end local 0 // org.springframework.beans.factory.support.RootBeanDefinition bd
         4: .line 97
      StackMap locals:
      StackMap stack:
            getstatic org.springframework.context.config.MBeanServerBeanDefinitionParser.webspherePresent:Z
            ifeq 6
         5: .line 98
            new org.springframework.beans.factory.support.RootBeanDefinition
            dup
            ldc Lorg/springframework/jmx/support/WebSphereMBeanServerFactoryBean;
            invokespecial org.springframework.beans.factory.support.RootBeanDefinition.<init>:(Ljava/lang/Class;)V
            areturn
         6: .line 101
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            2    4     0    bd  Lorg/springframework/beans/factory/support/RootBeanDefinition;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
}
SourceFile: "MBeanServerBeanDefinitionParser.java"