Class SimpleDistributedQueue


  • public class SimpleDistributedQueue
    extends java.lang.Object

    Drop in replacement for: org.apache.zookeeper.recipes.queue.DistributedQueue that is part of the ZooKeeper distribution

    This class is data compatible with the ZK version. i.e. it uses the same naming scheme so it can read from an existing queue

    • Constructor Summary

      Constructors 
      Constructor Description
      SimpleDistributedQueue​(org.apache.curator.framework.CuratorFramework client, java.lang.String path)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      byte[] element()
      Return the head of the queue without modifying the queue.
      protected void ensurePath()  
      boolean offer​(byte[] data)
      Inserts data into queue.
      byte[] peek()
      Returns the data at the first element of the queue, or null if the queue is empty.
      byte[] poll()
      Attempts to remove the head of the queue and return it.
      byte[] poll​(long timeout, java.util.concurrent.TimeUnit unit)
      Retrieves and removes the head of this queue, waiting up to the specified wait time if necessary for an element to become available.
      byte[] remove()
      Attempts to remove the head of the queue and return it.
      byte[] take()
      Removes the head of the queue and returns it, blocks until it succeeds.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • SimpleDistributedQueue

        public SimpleDistributedQueue​(org.apache.curator.framework.CuratorFramework client,
                                      java.lang.String path)
        Parameters:
        client - the client
        path - path to store queue nodes
    • Method Detail

      • element

        public byte[] element()
                       throws java.lang.Exception
        Return the head of the queue without modifying the queue.
        Returns:
        the data at the head of the queue.
        Throws:
        java.lang.Exception - errors
        java.util.NoSuchElementException - if the queue is empty
      • remove

        public byte[] remove()
                      throws java.lang.Exception
        Attempts to remove the head of the queue and return it.
        Returns:
        The former head of the queue
        Throws:
        java.lang.Exception - errors
        java.util.NoSuchElementException - if the queue is empty
      • take

        public byte[] take()
                    throws java.lang.Exception
        Removes the head of the queue and returns it, blocks until it succeeds.
        Returns:
        The former head of the queue
        Throws:
        java.lang.Exception - errors
      • offer

        public boolean offer​(byte[] data)
                      throws java.lang.Exception
        Inserts data into queue.
        Parameters:
        data - the data
        Returns:
        true if data was successfully added
        Throws:
        java.lang.Exception - errors
      • peek

        public byte[] peek()
                    throws java.lang.Exception
        Returns the data at the first element of the queue, or null if the queue is empty.
        Returns:
        data at the first element of the queue, or null.
        Throws:
        java.lang.Exception - errors
      • poll

        public byte[] poll​(long timeout,
                           java.util.concurrent.TimeUnit unit)
                    throws java.lang.Exception
        Retrieves and removes the head of this queue, waiting up to the specified wait time if necessary for an element to become available.
        Parameters:
        timeout - how long to wait before giving up, in units of unit
        unit - a TimeUnit determining how to interpret the timeout parameter
        Returns:
        the head of this queue, or null if the specified waiting time elapses before an element is available
        Throws:
        java.lang.Exception - errors
      • poll

        public byte[] poll()
                    throws java.lang.Exception
        Attempts to remove the head of the queue and return it. Returns null if the queue is empty.
        Returns:
        Head of the queue or null.
        Throws:
        java.lang.Exception - errors
      • ensurePath

        protected void ensurePath()
                           throws java.lang.Exception
        Throws:
        java.lang.Exception