Class JCToolsBlockingQueueFactory<E>
java.lang.Object
org.apache.logging.log4j.core.async.JCToolsBlockingQueueFactory<E>
- All Implemented Interfaces:
BlockingQueueFactory<E>
@Plugin(name="JCToolsBlockingQueue",
category="Core",
elementType="BlockingQueueFactory")
public class JCToolsBlockingQueueFactory<E>
extends Object
implements BlockingQueueFactory<E>
Factory for creating instances of BlockingQueues backed by JCTools
MpscArrayQueue.- Since:
- 2.7
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static interfaceprivate static final classBlockingQueue wrapper for JCTools multiple producer single consumer array queue.static enum -
Field Summary
FieldsFields inherited from interface org.apache.logging.log4j.core.async.BlockingQueueFactory
ELEMENT_TYPE -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivate -
Method Summary
Modifier and TypeMethodDescriptioncreate(int capacity) Creates a new BlockingQueue with the specified maximum capacity.static <E> JCToolsBlockingQueueFactory<E> createFactory(JCToolsBlockingQueueFactory.WaitStrategy waitStrategy)
-
Field Details
-
waitStrategy
-
-
Constructor Details
-
JCToolsBlockingQueueFactory
-
-
Method Details
-
create
Description copied from interface:BlockingQueueFactoryCreates a new BlockingQueue with the specified maximum capacity. Note that not all implementations of BlockingQueue support a bounded capacity in which case the value is ignored.- Specified by:
createin interfaceBlockingQueueFactory<E>- Parameters:
capacity- maximum size of the queue if supported- Returns:
- a new BlockingQueue
-
createFactory
@PluginFactory public static <E> JCToolsBlockingQueueFactory<E> createFactory(@PluginAttribute(value="WaitStrategy",defaultString="PARK") JCToolsBlockingQueueFactory.WaitStrategy waitStrategy)
-