Class BlockingQueueFactory


  • public class BlockingQueueFactory
    extends java.lang.Object
    The queue factory produces Queue instances based on a best fit to the ConcurrentQueueSpec. This allows minimal dependencies between user code and the queue implementations and gives users a way to express their requirements on a higher level.
    • Field Detail

      • blockingQueueCache

        private static java.util.Map<java.lang.Class,​java.lang.Class> blockingQueueCache
    • Constructor Detail

      • BlockingQueueFactory

        public BlockingQueueFactory()
    • Method Detail

      • newBlockingQueue

        public static <E> java.util.concurrent.BlockingQueue<E> newBlockingQueue​(ConcurrentQueueSpec qs)
      • newBlockingQueue

        public static <E> java.util.concurrent.BlockingQueue<E> newBlockingQueue​(ConcurrentQueueSpec qs,
                                                                                 java.lang.Class<? extends TakeStrategy> takeStratClass,
                                                                                 java.lang.Class<? extends PutStrategy> putStratClass)
      • getBlockingQueueFrom

        private static <E> java.util.concurrent.BlockingQueue<E> getBlockingQueueFrom​(java.lang.Class<? extends java.util.Queue> queueClass,
                                                                                      java.lang.Class<? extends TakeStrategy> takeStrat,
                                                                                      java.lang.Class<? extends PutStrategy> putStrat,
                                                                                      int capacity)