Package io.vertx.amqp

## Interface AmqpClient

-     public interface AmqpClient

  AMQP Client entry point. Use this interface to create an instance of `AmqpClient` and connect to a broker and server.

- - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Future<Void>` | `close()` | Closes the client.
    `Future<AmqpConnection>` | `connect()` | Connects to the AMQP broker or router.
    `static AmqpClient` | `create​(AmqpClientOptions options)` | Creates a new instance of `AmqpClient` using an internal Vert.x instance (with default configuration) and the given AMQP client configuration.
    `static AmqpClient` | `create​(Vertx vertx, AmqpClientOptions options)` | Creates a new instance of `AmqpClient` with the given Vert.x instance and the given options.
    `Future<AmqpReceiver>` | `createReceiver​(String address)` | Creates a receiver used to consume messages from the given address.
    `Future<AmqpReceiver>` | `createReceiver​(String address, AmqpReceiverOptions receiverOptions)` | Creates a receiver used to consumer messages from the given address.
    `Future<AmqpSender>` | `createSender​(String address)` | Creates a sender used to send messages to the given address.
    `Future<AmqpSender>` | `createSender​(String address, AmqpSenderOptions options)` | Creates a sender used to send messages to the given address.

- - ### Method Detail

    - #### create

          static AmqpClient create​(AmqpClientOptions options)

      Creates a new instance of `AmqpClient` using an internal Vert.x instance (with default configuration) and the given AMQP client configuration. Note that the created Vert.x instance will be closed when the client is closed.
      Parameters:
        `options` - the AMQP client options, may be `null` falling back to the default configuration
      Returns:
        the created instances.

    - #### create

          static AmqpClient create​(Vertx vertx,
                                   AmqpClientOptions options)

      Creates a new instance of `AmqpClient` with the given Vert.x instance and the given options.
      Parameters:
        `vertx` - the vert.x instance, must not be `null`
        `options` - the AMQP options, may be @{code null} falling back to the default configuration
      Returns:
        the AMQP client instance

    - #### connect

          Future<AmqpConnection> connect()

      Connects to the AMQP broker or router. The location is specified in the `AmqpClientOptions` as well as the potential credential required.
      Returns:
        a future notified with the result, giving either the connection or failure cause. Must not be `null`.

    - #### close

          Future<Void> close()

      Closes the client. The client must always be closed once not needed anymore.
      Returns:
        a future notified when the operation completes

    - #### createReceiver

          Future<AmqpReceiver> createReceiver​(String address)

      Creates a receiver used to consume messages from the given address. The receiver has no handler and won't start receiving messages until a handler is explicitly configured. This method avoids having to connect explicitly. You can retrieve the connection using `AmqpReceiver.connection()`.
      Parameters:
        `address` - The source address to attach the consumer to, must not be `null`
      Returns:
        a future notified with the receiver. The receiver has been opened.

    - #### createReceiver

          Future<AmqpReceiver> createReceiver​(String address,
                                              AmqpReceiverOptions receiverOptions)

      Creates a receiver used to consumer messages from the given address. This method avoids having to connect explicitly. You can retrieve the connection using `AmqpReceiver.connection()`.
      Parameters:
        `address` - The source address to attach the consumer to.
        `receiverOptions` - The options for this receiver.
      Returns:
        a future notified with the receiver, once opened. Note that the `messageHandler` can be called before the `completionHandler` if messages are awaiting delivery.

    - #### createSender

          Future<AmqpSender> createSender​(String address)

      Creates a sender used to send messages to the given address. The address must be set.
      Parameters:
        `address` - The target address to attach to, must not be `null`
      Returns:
        a future notified with the sender, once opened

    - #### createSender

          Future<AmqpSender> createSender​(String address,
                                          AmqpSenderOptions options)

      Creates a sender used to send messages to the given address. The address must be set.
      Parameters:
        `address` - The target address to attach to, must not be `null`
        `options` - The options for this sender.
      Returns:
        a future notified with the sender, once opened