package org.apache.logging.log4j.core.async;

import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.BlockingQueue;

import org.apache.logging.log4j.core.config.Node;
import org.apache.logging.log4j.core.config.plugins.Plugin;
import org.apache.logging.log4j.core.config.plugins.PluginAttribute;
import org.apache.logging.log4j.core.config.plugins.PluginFactory;

/**
 * Factory for creating instances of {@link ArrayBlockingQueue}.
 *
 * @since 2.7
 */
@Plugin(name = "ArrayBlockingQueue", category = Node.CATEGORY, elementType = BlockingQueueFactory.ELEMENT_TYPE)
public class ArrayBlockingQueueFactory<E> implements BlockingQueueFactory<E> {

    private final boolean fair;

    private ArrayBlockingQueueFactory(final boolean fair) {
        this.fair = fair;
    }

    @Override
    public BlockingQueue<E> create(int capacity) {
        return new ArrayBlockingQueue<>(capacity, fair);
    }

    @PluginFactory
    public static <E> ArrayBlockingQueueFactory<E> createFactory(@PluginAttribute("fair") final boolean fair) {
        return new ArrayBlockingQueueFactory<>(fair);
    }
}

@@ -245,77 +245,8 @@
 in;%0A
-import org.apache.logging.log4j.core.config.plugins.PluginAttribute;%0A
 impo
@@ -594,135 +594,8 @@
 %3E %7B%0A
-%0A    private final boolean fair;%0A%0A    private ArrayBlockingQueueFactory(final boolean fair) %7B%0A        this.fair = fair;%0A    %7D%0A%0A
     
@@ -707,14 +707,8 @@
 city
-, fair
 );%0A 
@@ -801,51 +801,8 @@
 ory(
-@PluginAttribute(%22fair%22) final boolean fair
 ) %7B%0A
@@ -852,12 +852,8 @@
 y%3C%3E(
-fair
 );%0A 

Revert "Make fairness configurable in ArrayBlockingQueueFactory"