public class org.apache.logging.log4j.core.async.AsyncQueueFullPolicyFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.logging.log4j.core.async.AsyncQueueFullPolicyFactory
  super_class: java.lang.Object
{
  static final java.lang.String PROPERTY_NAME_ASYNC_EVENT_ROUTER;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "log4j2.AsyncQueueFullPolicy"

  static final java.lang.String PROPERTY_VALUE_DEFAULT_ASYNC_EVENT_ROUTER;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "Default"

  static final java.lang.String PROPERTY_VALUE_DISCARDING_ASYNC_EVENT_ROUTER;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "Discard"

  static final java.lang.String PROPERTY_NAME_DISCARDING_THRESHOLD_LEVEL;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "log4j2.DiscardThreshold"

  private static final org.apache.logging.log4j.Logger LOGGER;
    descriptor: Lorg/apache/logging/log4j/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 51
            invokestatic org.apache.logging.log4j.status.StatusLogger.getLogger:()Lorg/apache/logging/log4j/status/StatusLogger;
            putstatic org.apache.logging.log4j.core.async.AsyncQueueFullPolicyFactory.LOGGER:Lorg/apache/logging/log4j/Logger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.logging.log4j.core.async.AsyncQueueFullPolicyFactory this
         0: .line 45
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.apache.logging.log4j.core.async.AsyncQueueFullPolicyFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/logging/log4j/core/async/AsyncQueueFullPolicyFactory;

  public static org.apache.logging.log4j.core.async.AsyncQueueFullPolicy create();
    descriptor: ()Lorg/apache/logging/log4j/core/async/AsyncQueueFullPolicy;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 68
            invokestatic org.apache.logging.log4j.util.PropertiesUtil.getProperties:()Lorg/apache/logging/log4j/util/PropertiesUtil;
            ldc "log4j2.AsyncQueueFullPolicy"
            invokevirtual org.apache.logging.log4j.util.PropertiesUtil.getStringProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 0 /* router */
        start local 0 // java.lang.String router
         1: .line 69
            aload 0 /* router */
            ifnull 5
         2: .line 70
            aload 0 /* router */
            ldc Lorg/apache/logging/log4j/core/async/DefaultAsyncQueueFullPolicy;
            ldc "Default"
         3: .line 69
            invokestatic org.apache.logging.log4j.core.async.AsyncQueueFullPolicyFactory.isRouterSelected:(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;)Z
         4: .line 70
            ifeq 6
         5: .line 71
      StackMap locals: java.lang.String
      StackMap stack:
            new org.apache.logging.log4j.core.async.DefaultAsyncQueueFullPolicy
            dup
            invokespecial org.apache.logging.log4j.core.async.DefaultAsyncQueueFullPolicy.<init>:()V
            areturn
         6: .line 74
      StackMap locals:
      StackMap stack:
            aload 0 /* router */
            ldc Lorg/apache/logging/log4j/core/async/DiscardingAsyncQueueFullPolicy;
            ldc "Discard"
         7: .line 73
            invokestatic org.apache.logging.log4j.core.async.AsyncQueueFullPolicyFactory.isRouterSelected:(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;)Z
         8: .line 74
            ifeq 10
         9: .line 75
            invokestatic org.apache.logging.log4j.core.async.AsyncQueueFullPolicyFactory.createDiscardingAsyncQueueFullPolicy:()Lorg/apache/logging/log4j/core/async/AsyncQueueFullPolicy;
            areturn
        10: .line 77
      StackMap locals:
      StackMap stack:
            aload 0 /* router */
            invokestatic org.apache.logging.log4j.core.async.AsyncQueueFullPolicyFactory.createCustomRouter:(Ljava/lang/String;)Lorg/apache/logging/log4j/core/async/AsyncQueueFullPolicy;
            areturn
        end local 0 // java.lang.String router
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            1   11     0  router  Ljava/lang/String;

  private static boolean isRouterSelected(java.lang.String, java.lang.Class<? extends org.apache.logging.log4j.core.async.AsyncQueueFullPolicy>, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // java.lang.String propertyValue
        start local 1 // java.lang.Class policy
        start local 2 // java.lang.String shortPropertyValue
         0: .line 84
            aload 0 /* propertyValue */
            ifnull 4
            aload 2 /* shortPropertyValue */
            aload 0 /* propertyValue */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 3
         1: .line 85
            aload 1 /* policy */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aload 0 /* propertyValue */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 3
         2: .line 86
            aload 1 /* policy */
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            aload 0 /* propertyValue */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 84
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_0
            ireturn
        end local 2 // java.lang.String shortPropertyValue
        end local 1 // java.lang.Class policy
        end local 0 // java.lang.String propertyValue
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    5     0       propertyValue  Ljava/lang/String;
            0    5     1              policy  Ljava/lang/Class<+Lorg/apache/logging/log4j/core/async/AsyncQueueFullPolicy;>;
            0    5     2  shortPropertyValue  Ljava/lang/String;
    Signature: (Ljava/lang/String;Ljava/lang/Class<+Lorg/apache/logging/log4j/core/async/AsyncQueueFullPolicy;>;Ljava/lang/String;)Z
    MethodParameters:
                    Name  Flags
      propertyValue       
      policy              
      shortPropertyValue  

  private static org.apache.logging.log4j.core.async.AsyncQueueFullPolicy createCustomRouter(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/apache/logging/log4j/core/async/AsyncQueueFullPolicy;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.lang.String router
         0: .line 91
            aload 0 /* router */
            invokestatic org.apache.logging.log4j.core.util.Loader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
            ldc Lorg/apache/logging/log4j/core/async/AsyncQueueFullPolicy;
            invokevirtual java.lang.Class.asSubclass:(Ljava/lang/Class;)Ljava/lang/Class;
            astore 1 /* cls */
        start local 1 // java.lang.Class cls
         1: .line 92
            getstatic org.apache.logging.log4j.core.async.AsyncQueueFullPolicyFactory.LOGGER:Lorg/apache/logging/log4j/Logger;
            ldc "Creating custom AsyncQueueFullPolicy '{}'"
            aload 0 /* router */
            invokeinterface org.apache.logging.log4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
         2: .line 93
            aload 1 /* cls */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast org.apache.logging.log4j.core.async.AsyncQueueFullPolicy
         3: areturn
        end local 1 // java.lang.Class cls
         4: .line 94
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 1 /* ex */
        start local 1 // java.lang.Exception ex
         5: .line 95
            getstatic org.apache.logging.log4j.core.async.AsyncQueueFullPolicyFactory.LOGGER:Lorg/apache/logging/log4j/Logger;
            ldc "Using DefaultAsyncQueueFullPolicy. Could not create custom AsyncQueueFullPolicy '{}': {}"
            aload 0 /* router */
         6: .line 96
            aload 1 /* ex */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
         7: .line 95
            invokeinterface org.apache.logging.log4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         8: .line 97
            new org.apache.logging.log4j.core.async.DefaultAsyncQueueFullPolicy
            dup
            invokespecial org.apache.logging.log4j.core.async.DefaultAsyncQueueFullPolicy.<init>:()V
            areturn
        end local 1 // java.lang.Exception ex
        end local 0 // java.lang.String router
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0  router  Ljava/lang/String;
            1    4     1     cls  Ljava/lang/Class<+Lorg/apache/logging/log4j/core/async/AsyncQueueFullPolicy;>;
            5    9     1      ex  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     3       4  Class java.lang.Exception
    MethodParameters:
        Name  Flags
      router  final

  private static org.apache.logging.log4j.core.async.AsyncQueueFullPolicy createDiscardingAsyncQueueFullPolicy();
    descriptor: ()Lorg/apache/logging/log4j/core/async/AsyncQueueFullPolicy;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=0
         0: .line 102
            invokestatic org.apache.logging.log4j.util.PropertiesUtil.getProperties:()Lorg/apache/logging/log4j/util/PropertiesUtil;
            astore 0 /* util */
        start local 0 // org.apache.logging.log4j.util.PropertiesUtil util
         1: .line 103
            aload 0 /* util */
            ldc "log4j2.DiscardThreshold"
            getstatic org.apache.logging.log4j.Level.INFO:Lorg/apache/logging/log4j/Level;
            invokevirtual org.apache.logging.log4j.Level.name:()Ljava/lang/String;
            invokevirtual org.apache.logging.log4j.util.PropertiesUtil.getStringProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* level */
        start local 1 // java.lang.String level
         2: .line 104
            aload 1 /* level */
            getstatic org.apache.logging.log4j.Level.INFO:Lorg/apache/logging/log4j/Level;
            invokestatic org.apache.logging.log4j.Level.toLevel:(Ljava/lang/String;Lorg/apache/logging/log4j/Level;)Lorg/apache/logging/log4j/Level;
            astore 2 /* thresholdLevel */
        start local 2 // org.apache.logging.log4j.Level thresholdLevel
         3: .line 105
            getstatic org.apache.logging.log4j.core.async.AsyncQueueFullPolicyFactory.LOGGER:Lorg/apache/logging/log4j/Logger;
            ldc "Creating custom DiscardingAsyncQueueFullPolicy(discardThreshold:{})"
            aload 2 /* thresholdLevel */
            invokeinterface org.apache.logging.log4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
         4: .line 106
            new org.apache.logging.log4j.core.async.DiscardingAsyncQueueFullPolicy
            dup
            aload 2 /* thresholdLevel */
            invokespecial org.apache.logging.log4j.core.async.DiscardingAsyncQueueFullPolicy.<init>:(Lorg/apache/logging/log4j/Level;)V
            areturn
        end local 2 // org.apache.logging.log4j.Level thresholdLevel
        end local 1 // java.lang.String level
        end local 0 // org.apache.logging.log4j.util.PropertiesUtil util
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            1    5     0            util  Lorg/apache/logging/log4j/util/PropertiesUtil;
            2    5     1           level  Ljava/lang/String;
            3    5     2  thresholdLevel  Lorg/apache/logging/log4j/Level;
}
SourceFile: "AsyncQueueFullPolicyFactory.java"