Interface MessageConsumer<T>

All Superinterfaces:
ReadStream<Message<T>>, StreamBase

public interface MessageConsumer<T> extends ReadStream<Message<T>>
An event bus consumer object representing a stream of message to an EventBus address that can be read from.

The EventBus.consumer(String) or EventBus.localConsumer(String) creates a new consumer, the returned consumer is not yet registered against the event bus. Registration is effective after the handler(io.vertx.core.Handler) method is invoked.

The consumer is unregistered from the event bus using the unregister() method or by calling the handler(io.vertx.core.Handler) with a null value..

Author:
Nick Scavelli
  • Method Details

    • exceptionHandler

      MessageConsumer<T> exceptionHandler(Handler<Throwable> handler)
      Description copied from interface: ReadStream
      Set an exception handler on the read stream.
      Specified by:
      exceptionHandler in interface ReadStream<T>
      Specified by:
      exceptionHandler in interface StreamBase
      Parameters:
      handler - the exception handler
      Returns:
      a reference to this, so the API can be used fluently
    • handler

      MessageConsumer<T> handler(Handler<Message<T>> handler)
      Description copied from interface: ReadStream
      Set a data handler. As data is read, the handler will be called with the data.
      Specified by:
      handler in interface ReadStream<T>
      Returns:
      a reference to this, so the API can be used fluently
    • pause

      MessageConsumer<T> pause()
      Description copied from interface: ReadStream
      Pause the ReadStream, it sets the buffer in fetch mode and clears the actual demand.

      While it's paused, no data will be sent to the data handler.

      Specified by:
      pause in interface ReadStream<T>
      Returns:
      a reference to this, so the API can be used fluently
    • resume

      MessageConsumer<T> resume()
      Description copied from interface: ReadStream
      Resume reading, and sets the buffer in flowing mode.

      If the ReadStream has been paused, reading will recommence on it.

      Specified by:
      resume in interface ReadStream<T>
      Returns:
      a reference to this, so the API can be used fluently
    • fetch

      MessageConsumer<T> fetch(long amount)
      Description copied from interface: ReadStream
      Fetch the specified amount of elements. If the ReadStream has been paused, reading will recommence with the specified amount of items, otherwise the specified amount will be added to the current stream demand.
      Specified by:
      fetch in interface ReadStream<T>
      Returns:
      a reference to this, so the API can be used fluently
    • endHandler

      MessageConsumer<T> endHandler(Handler<Void> endHandler)
      Description copied from interface: ReadStream
      Set an end handler. Once the stream has ended, and there is no more data to be read, this handler will be called.
      Specified by:
      endHandler in interface ReadStream<T>
      Returns:
      a reference to this, so the API can be used fluently
    • bodyStream

      ReadStream<T> bodyStream()
      Returns:
      a read stream for the body of the message stream.
    • isRegistered

      boolean isRegistered()
      Returns:
      true if the current consumer is registered
    • address

      String address()
      Returns:
      The address the handler was registered with.
    • completion

      Future<Void> completion()
      Returns:
      a future notified when the message consumer is registered
    • unregister

      Future<Void> unregister()
      Unregisters the handler which created this registration
      Returns:
      a future notified when the unregistation is done