vertx / io.vertx.kotlin.rabbitmq / io.vertx.rabbitmq.RabbitMQClient

Extensions for io.vertx.rabbitmq.RabbitMQClient

basicAckAwait

suspend fun RabbitMQClient.basicAckAwait(deliveryTag: Long, multiple: Boolean): JsonObject

Acknowledge one or several received messages. Supply the deliveryTag from the AMQP.Basic.GetOk or AMQP.Basic.Deliver method containing the received message being acknowledged.

basicConsumerAwait

suspend fun RabbitMQClient.basicConsumerAwait(queue: String): RabbitMQConsumersuspend fun RabbitMQClient.basicConsumerAwait(queue: String, options: QueueOptions): RabbitMQConsumer

Create a consumer with the given options.

basicGetAwait

suspend fun RabbitMQClient.basicGetAwait(queue: String, autoAck: Boolean): JsonObject

Retrieve a message from a queue using AMQP.Basic.Get

basicNackAwait

suspend fun RabbitMQClient.basicNackAwait(deliveryTag: Long, multiple: Boolean, requeue: Boolean): JsonObject

Reject one or several received messages.

basicPublishAwait

suspend fun RabbitMQClient.basicPublishAwait(exchange: String, routingKey: String, message: JsonObject): Unit

Publish a message. Publishing to a non-existent exchange will result in a channel-level protocol exception, which closes the channel. Invocations of Channel#basicPublish will eventually block if a resource-driven alarm is in effect.

basicQosAwait

suspend fun RabbitMQClient.basicQosAwait(prefetchCount: Int): Unit
suspend fun RabbitMQClient.basicQosAwait(prefetchCount: Int, global: Boolean): Unit

Request a specific prefetchCount "quality of service" settings for this channel.

suspend fun RabbitMQClient.basicQosAwait(prefetchSize: Int, prefetchCount: Int, global: Boolean): Unit

Request specific "quality of service" settings.

confirmSelectAwait

suspend fun RabbitMQClient.confirmSelectAwait(): Unit

Enables publisher acknowledgements on this channel. Can be called once during client initialisation. Calls to basicPublish() will have to be confirmed.

exchangeBindAwait

suspend fun RabbitMQClient.exchangeBindAwait(destination: String, source: String, routingKey: String): Unit

Bind an exchange to an exchange.

exchangeDeclareAwait

suspend fun RabbitMQClient.exchangeDeclareAwait(exchange: String, type: String, durable: Boolean, autoDelete: Boolean): Unit

Declare an exchange.

suspend fun RabbitMQClient.exchangeDeclareAwait(exchange: String, type: String, durable: Boolean, autoDelete: Boolean, config: JsonObject): Unit

Declare an exchange with additional parameters such as dead lettering, an alternate exchange or TTL.

exchangeDeleteAwait

suspend fun RabbitMQClient.exchangeDeleteAwait(exchange: String): Unit

Delete an exchange, without regard for whether it is in use or not.

exchangeUnbindAwait

suspend fun RabbitMQClient.exchangeUnbindAwait(destination: String, source: String, routingKey: String): Unit

Unbind an exchange from an exchange.

messageCountAwait

suspend fun RabbitMQClient.messageCountAwait(queue: String): Long

Returns the number of messages in a queue ready to be delivered.

queueBindAwait

suspend fun RabbitMQClient.queueBindAwait(queue: String, exchange: String, routingKey: String): Unit

Bind a queue to an exchange

queueDeclareAutoAwait

suspend fun RabbitMQClient.queueDeclareAutoAwait(): JsonObject

Actively declare a server-named exclusive, autodelete, non-durable queue.

queueDeclareAwait

suspend fun RabbitMQClient.queueDeclareAwait(queue: String, durable: Boolean, exclusive: Boolean, autoDelete: Boolean): JsonObject

Declare a queue

suspend fun RabbitMQClient.queueDeclareAwait(queue: String, durable: Boolean, exclusive: Boolean, autoDelete: Boolean, config: JsonObject): JsonObject

Declare a queue with config options

queueDeleteAwait

suspend fun RabbitMQClient.queueDeleteAwait(queue: String): JsonObject

Delete a queue, without regard for whether it is in use or has messages on it

queueDeleteIfAwait

suspend fun RabbitMQClient.queueDeleteIfAwait(queue: String, ifUnused: Boolean, ifEmpty: Boolean): JsonObject

Delete a queue

startAwait

suspend fun RabbitMQClient.startAwait(): Unit

Start the rabbitMQ client. Create the connection and the chanel.

stopAwait

suspend fun RabbitMQClient.stopAwait(): Unit

Stop the rabbitMQ client. Close the connection and its chanel.

waitForConfirmsAwait

suspend fun RabbitMQClient.waitForConfirmsAwait(): Unit

Wait until all messages published since the last call have been either ack'd or nack'd by the broker. This will incur slight performance loss at the expense of higher write consistency. If desired, multiple calls to basicPublish() can be batched before confirming.

suspend fun RabbitMQClient.waitForConfirmsAwait(timeout: Long): Unit

Wait until all messages published since the last call have been either ack'd or nack'd by the broker; or until timeout elapses. If the timeout expires a TimeoutException is thrown.