Class QueueClient

  • All Implemented Interfaces:
    RequestQueue

    public class QueueClient
    extends Object
    implements RequestQueue
    The QueueClient allows you to enqueue various requests.
    Author:
    https://github.com/ljucam [Mario Ljuca]
    • Field Detail

      • log

        public static final org.slf4j.Logger log
    • Constructor Detail

      • QueueClient

        public QueueClient​(io.vertx.core.Vertx vertx,
                           org.swisspush.gateleen.monitoring.MonitoringHandler monitoringHandler)
        Creates a new instance of the QueueClient.
        Parameters:
        vertx - vertx
        monitoringHandler - monitoringHandler
    • Method Detail

      • getRedisquesAddress

        protected String getRedisquesAddress()
        Get the event bus address of redisques. Override this method when you want to use a custom redisques address
        Returns:
        the event bus address of redisques
      • enqueue

        public void enqueue​(io.vertx.core.http.HttpServerRequest request,
                            io.vertx.core.buffer.Buffer buffer,
                            String queue)
        Enqueues the given request.
        Specified by:
        enqueue in interface RequestQueue
        Parameters:
        request - request
        buffer - buffer
        queue - queue
      • enqueue

        public void enqueue​(io.vertx.core.http.HttpServerRequest request,
                            io.vertx.core.MultiMap headers,
                            io.vertx.core.buffer.Buffer buffer,
                            String queue)
        Enqueues the given request.
        Specified by:
        enqueue in interface RequestQueue
        Parameters:
        request - request
        headers - headers
        buffer - buffer
        queue - queue
      • enqueue

        public void enqueue​(HttpRequest request,
                            String queue)
        Enqueues a disconnected request.
        Specified by:
        enqueue in interface RequestQueue
        Parameters:
        request - - selfmade request
        queue - queue
      • enqueue

        public void enqueue​(HttpRequest request,
                            String queue,
                            io.vertx.core.Handler<Void> doneHandler)
        Enqueues a disconnected request.
        Specified by:
        enqueue in interface RequestQueue
        Parameters:
        request - - selfmade request
        queue - queue
        doneHandler - a handler which is called as soon as the request is written into the queue.
      • lockedEnqueue

        public void lockedEnqueue​(HttpRequest queuedRequest,
                                  String queue,
                                  String lockRequestedBy,
                                  io.vertx.core.Handler<Void> doneHandler)
        Enqueues a request into a locked queue.
        Specified by:
        lockedEnqueue in interface RequestQueue
        Parameters:
        queuedRequest - the request to enqueue
        queue - queue
        lockRequestedBy - the user requesting the lock
        doneHandler - a handler which is called as soon as the request is written into the queue.
      • deleteLock

        public io.vertx.core.Future<Void> deleteLock​(String queue)
        Deletes the lock for the provided queue
        Specified by:
        deleteLock in interface RequestQueue
        Parameters:
        queue - the queue to unlock
        Returns:
        a future which is completed when reply status from redisques was 'OK', fails otherwise
      • deleteAllQueueItems

        public io.vertx.core.Future<Void> deleteAllQueueItems​(String queue,
                                                              boolean unlock)
        Deletes all queue items of the provided queue and eventually deletes the lock too.
        Specified by:
        deleteAllQueueItems in interface RequestQueue
        Parameters:
        queue - the queue to delete
        unlock - delete the lock after the queue has been deleted
        Returns:
        a future which is completed when reply from redisques succeeded, fails otherwise