Package io.vertx.reactivex.rabbitmq
Class RabbitMQClient
- java.lang.Object
-
- io.vertx.reactivex.rabbitmq.RabbitMQClient
-
-
Field Summary
Fields Modifier and Type Field Description static TypeArg<RabbitMQClient>
__TYPE_ARG
-
Constructor Summary
Constructors Constructor Description RabbitMQClient(RabbitMQClient delegate)
RabbitMQClient(Object delegate)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addConfirmListener(int maxQueueSize)
Add a Confirm Listener to the channel.void
addConfirmListener(int maxQueueSize, Handler<AsyncResult<ReadStream<RabbitMQConfirmation>>> resultHandler)
Add a Confirm Listener to the channel.void
basicAck(long deliveryTag, boolean multiple)
Acknowledge one or several received messages.void
basicAck(long deliveryTag, boolean multiple, Handler<AsyncResult<Void>> resultHandler)
Acknowledge one or several received messages.void
basicConsumer(String queue)
void
basicConsumer(String queue, Handler<AsyncResult<RabbitMQConsumer>> resultHandler)
void
basicConsumer(String queue, QueueOptions options)
Create a consumer with the givenoptions
.void
basicConsumer(String queue, QueueOptions options, Handler<AsyncResult<RabbitMQConsumer>> resultHandler)
Create a consumer with the givenoptions
.void
basicGet(String queue, boolean autoAck)
Retrieve a message from a queue using AMQP.Basic.Getvoid
basicGet(String queue, boolean autoAck, Handler<AsyncResult<RabbitMQMessage>> resultHandler)
Retrieve a message from a queue using AMQP.Basic.Getvoid
basicNack(long deliveryTag, boolean multiple, boolean requeue)
Reject one or several received messages.void
basicNack(long deliveryTag, boolean multiple, boolean requeue, Handler<AsyncResult<Void>> resultHandler)
Reject one or several received messages.void
basicPublish(String exchange, String routingKey, com.rabbitmq.client.BasicProperties properties, Buffer body)
Publish a message.void
basicPublish(String exchange, String routingKey, com.rabbitmq.client.BasicProperties properties, Buffer body, Handler<AsyncResult<Void>> resultHandler)
Publish a message.void
basicPublish(String exchange, String routingKey, Buffer body)
Publish a message.void
basicPublish(String exchange, String routingKey, Buffer body, Handler<AsyncResult<Void>> resultHandler)
Publish a message.void
basicPublishWithDeliveryTag(String exchange, String routingKey, com.rabbitmq.client.BasicProperties properties, Buffer body, Handler<Long> deliveryTagHandler)
Publish a message.void
basicPublishWithDeliveryTag(String exchange, String routingKey, com.rabbitmq.client.BasicProperties properties, Buffer body, Handler<Long> deliveryTagHandler, Handler<AsyncResult<Void>> resultHandler)
Publish a message.void
basicQos(int prefetchCount)
Request a specific prefetchCount "quality of service" settings for this channel.void
basicQos(int prefetchCount, boolean global)
Request a specific prefetchCount "quality of service" settings for this channel.void
basicQos(int prefetchCount, boolean global, Handler<AsyncResult<Void>> resultHandler)
Request a specific prefetchCount "quality of service" settings for this channel.void
basicQos(int prefetchSize, int prefetchCount, boolean global)
Request specific "quality of service" settings.void
basicQos(int prefetchSize, int prefetchCount, boolean global, Handler<AsyncResult<Void>> resultHandler)
Request specific "quality of service" settings.void
basicQos(int prefetchCount, Handler<AsyncResult<Void>> resultHandler)
Request a specific prefetchCount "quality of service" settings for this channel.void
confirmSelect()
Enables publisher acknowledgements on this channel.void
confirmSelect(Handler<AsyncResult<Void>> resultHandler)
Enables publisher acknowledgements on this channel.static RabbitMQClient
create(Vertx vertx)
Create and return a client configured with the default options.static RabbitMQClient
create(Vertx vertx, RabbitMQOptions config)
Create and return a client.boolean
equals(Object o)
void
exchangeBind(String destination, String source, String routingKey)
Bind an exchange to an exchange.void
exchangeBind(String destination, String source, String routingKey, Handler<AsyncResult<Void>> resultHandler)
Bind an exchange to an exchange.void
exchangeBind(String destination, String source, String routingKey, Map<String,Object> arguments)
Bind an exchange to an exchange.void
exchangeBind(String destination, String source, String routingKey, Map<String,Object> arguments, Handler<AsyncResult<Void>> resultHandler)
Bind an exchange to an exchange.void
exchangeDeclare(String exchange, String type, boolean durable, boolean autoDelete)
Declare an exchange.void
exchangeDeclare(String exchange, String type, boolean durable, boolean autoDelete, Handler<AsyncResult<Void>> resultHandler)
Declare an exchange.void
exchangeDeclare(String exchange, String type, boolean durable, boolean autoDelete, JsonObject config)
Declare an exchange with additional parameters such as dead lettering, an alternate exchange or TTL.void
exchangeDeclare(String exchange, String type, boolean durable, boolean autoDelete, JsonObject config, Handler<AsyncResult<Void>> resultHandler)
Declare an exchange with additional parameters such as dead lettering, an alternate exchange or TTL.void
exchangeDelete(String exchange)
Delete an exchange, without regard for whether it is in use or not.void
exchangeDelete(String exchange, Handler<AsyncResult<Void>> resultHandler)
Delete an exchange, without regard for whether it is in use or not.void
exchangeUnbind(String destination, String source, String routingKey)
Unbind an exchange from an exchange.void
exchangeUnbind(String destination, String source, String routingKey, Handler<AsyncResult<Void>> resultHandler)
Unbind an exchange from an exchange.void
exchangeUnbind(String destination, String source, String routingKey, Map<String,Object> arguments)
Unbind an exchange from an exchange.void
exchangeUnbind(String destination, String source, String routingKey, Map<String,Object> arguments, Handler<AsyncResult<Void>> resultHandler)
Unbind an exchange from an exchange.RabbitMQClient
getDelegate()
int
hashCode()
boolean
isConnected()
Check if a connection is openboolean
isOpenChannel()
Check if a channel is openvoid
messageCount(String queue)
Returns the number of messages in a queue ready to be delivered.void
messageCount(String queue, Handler<AsyncResult<Long>> resultHandler)
Returns the number of messages in a queue ready to be delivered.static RabbitMQClient
newInstance(RabbitMQClient arg)
void
queueBind(String queue, String exchange, String routingKey)
Bind a queue to an exchangevoid
queueBind(String queue, String exchange, String routingKey, Handler<AsyncResult<Void>> resultHandler)
Bind a queue to an exchangevoid
queueBind(String queue, String exchange, String routingKey, Map<String,Object> arguments)
Bind a queue to an exchangevoid
queueBind(String queue, String exchange, String routingKey, Map<String,Object> arguments, Handler<AsyncResult<Void>> resultHandler)
Bind a queue to an exchangevoid
queueDeclare(String queue, boolean durable, boolean exclusive, boolean autoDelete)
Declare a queuevoid
queueDeclare(String queue, boolean durable, boolean exclusive, boolean autoDelete, Handler<AsyncResult<com.rabbitmq.client.AMQP.Queue.DeclareOk>> resultHandler)
Declare a queuevoid
queueDeclare(String queue, boolean durable, boolean exclusive, boolean autoDelete, JsonObject config)
Declare a queue with config optionsvoid
queueDeclare(String queue, boolean durable, boolean exclusive, boolean autoDelete, JsonObject config, Handler<AsyncResult<com.rabbitmq.client.AMQP.Queue.DeclareOk>> resultHandler)
Declare a queue with config optionsvoid
queueDeclareAuto()
Actively declare a server-named exclusive, autodelete, non-durable queue.void
queueDeclareAuto(Handler<AsyncResult<JsonObject>> resultHandler)
Actively declare a server-named exclusive, autodelete, non-durable queue.void
queueDelete(String queue)
Delete a queue, without regard for whether it is in use or has messages on itvoid
queueDelete(String queue, Handler<AsyncResult<com.rabbitmq.client.AMQP.Queue.DeleteOk>> resultHandler)
Delete a queue, without regard for whether it is in use or has messages on itvoid
queueDeleteIf(String queue, boolean ifUnused, boolean ifEmpty)
Delete a queuevoid
queueDeleteIf(String queue, boolean ifUnused, boolean ifEmpty, Handler<AsyncResult<com.rabbitmq.client.AMQP.Queue.DeleteOk>> resultHandler)
Delete a queuevoid
queueUnbind(String queue, String exchange, String routingKey)
Unbind a queue from an exchangevoid
queueUnbind(String queue, String exchange, String routingKey, Handler<AsyncResult<Void>> resultHandler)
Unbind a queue from an exchangevoid
queueUnbind(String queue, String exchange, String routingKey, Map<String,Object> arguments)
Unbind a queue from an exchangevoid
queueUnbind(String queue, String exchange, String routingKey, Map<String,Object> arguments, Handler<AsyncResult<Void>> resultHandler)
Unbind a queue from an exchangevoid
restartConnect(int attempts)
restart the rabbitMQ connect.void
restartConnect(int attempts, Handler<AsyncResult<Void>> resultHandler)
restart the rabbitMQ connect.io.reactivex.Single<ReadStream<RabbitMQConfirmation>>
rxAddConfirmListener(int maxQueueSize)
Add a Confirm Listener to the channel.io.reactivex.Completable
rxBasicAck(long deliveryTag, boolean multiple)
Acknowledge one or several received messages.io.reactivex.Single<RabbitMQConsumer>
rxBasicConsumer(String queue)
io.reactivex.Single<RabbitMQConsumer>
rxBasicConsumer(String queue, QueueOptions options)
Create a consumer with the givenoptions
.io.reactivex.Single<RabbitMQMessage>
rxBasicGet(String queue, boolean autoAck)
Retrieve a message from a queue using AMQP.Basic.Getio.reactivex.Completable
rxBasicNack(long deliveryTag, boolean multiple, boolean requeue)
Reject one or several received messages.io.reactivex.Completable
rxBasicPublish(String exchange, String routingKey, com.rabbitmq.client.BasicProperties properties, Buffer body)
Publish a message.io.reactivex.Completable
rxBasicPublish(String exchange, String routingKey, Buffer body)
Publish a message.io.reactivex.Completable
rxBasicPublishWithDeliveryTag(String exchange, String routingKey, com.rabbitmq.client.BasicProperties properties, Buffer body, Handler<Long> deliveryTagHandler)
Publish a message.io.reactivex.Completable
rxBasicQos(int prefetchCount)
Request a specific prefetchCount "quality of service" settings for this channel.io.reactivex.Completable
rxBasicQos(int prefetchCount, boolean global)
Request a specific prefetchCount "quality of service" settings for this channel.io.reactivex.Completable
rxBasicQos(int prefetchSize, int prefetchCount, boolean global)
Request specific "quality of service" settings.io.reactivex.Completable
rxConfirmSelect()
Enables publisher acknowledgements on this channel.io.reactivex.Completable
rxExchangeBind(String destination, String source, String routingKey)
Bind an exchange to an exchange.io.reactivex.Completable
rxExchangeBind(String destination, String source, String routingKey, Map<String,Object> arguments)
Bind an exchange to an exchange.io.reactivex.Completable
rxExchangeDeclare(String exchange, String type, boolean durable, boolean autoDelete)
Declare an exchange.io.reactivex.Completable
rxExchangeDeclare(String exchange, String type, boolean durable, boolean autoDelete, JsonObject config)
Declare an exchange with additional parameters such as dead lettering, an alternate exchange or TTL.io.reactivex.Completable
rxExchangeDelete(String exchange)
Delete an exchange, without regard for whether it is in use or not.io.reactivex.Completable
rxExchangeUnbind(String destination, String source, String routingKey)
Unbind an exchange from an exchange.io.reactivex.Completable
rxExchangeUnbind(String destination, String source, String routingKey, Map<String,Object> arguments)
Unbind an exchange from an exchange.io.reactivex.Single<Long>
rxMessageCount(String queue)
Returns the number of messages in a queue ready to be delivered.io.reactivex.Completable
rxQueueBind(String queue, String exchange, String routingKey)
Bind a queue to an exchangeio.reactivex.Completable
rxQueueBind(String queue, String exchange, String routingKey, Map<String,Object> arguments)
Bind a queue to an exchangeio.reactivex.Single<com.rabbitmq.client.AMQP.Queue.DeclareOk>
rxQueueDeclare(String queue, boolean durable, boolean exclusive, boolean autoDelete)
Declare a queueio.reactivex.Single<com.rabbitmq.client.AMQP.Queue.DeclareOk>
rxQueueDeclare(String queue, boolean durable, boolean exclusive, boolean autoDelete, JsonObject config)
Declare a queue with config optionsio.reactivex.Single<JsonObject>
rxQueueDeclareAuto()
Actively declare a server-named exclusive, autodelete, non-durable queue.io.reactivex.Single<com.rabbitmq.client.AMQP.Queue.DeleteOk>
rxQueueDelete(String queue)
Delete a queue, without regard for whether it is in use or has messages on itio.reactivex.Single<com.rabbitmq.client.AMQP.Queue.DeleteOk>
rxQueueDeleteIf(String queue, boolean ifUnused, boolean ifEmpty)
Delete a queueio.reactivex.Completable
rxQueueUnbind(String queue, String exchange, String routingKey)
Unbind a queue from an exchangeio.reactivex.Completable
rxQueueUnbind(String queue, String exchange, String routingKey, Map<String,Object> arguments)
Unbind a queue from an exchangeio.reactivex.Completable
rxRestartConnect(int attempts)
restart the rabbitMQ connect.io.reactivex.Completable
rxStart()
Start the rabbitMQ client.io.reactivex.Completable
rxStop()
Stop the rabbitMQ client.io.reactivex.Completable
rxWaitForConfirms()
Wait until all messages published since the last call have been either ack'd or nack'd by the broker.io.reactivex.Completable
rxWaitForConfirms(long timeout)
Wait until all messages published since the last call have been either ack'd or nack'd by the broker; or until timeout elapses.void
start()
Start the rabbitMQ client.void
start(Handler<AsyncResult<Void>> resultHandler)
Start the rabbitMQ client.void
stop()
Stop the rabbitMQ client.void
stop(Handler<AsyncResult<Void>> resultHandler)
Stop the rabbitMQ client.String
toString()
void
waitForConfirms()
Wait until all messages published since the last call have been either ack'd or nack'd by the broker.void
waitForConfirms(long timeout)
Wait until all messages published since the last call have been either ack'd or nack'd by the broker; or until timeout elapses.void
waitForConfirms(long timeout, Handler<AsyncResult<Void>> resultHandler)
Wait until all messages published since the last call have been either ack'd or nack'd by the broker; or until timeout elapses.void
waitForConfirms(Handler<AsyncResult<Void>> resultHandler)
Wait until all messages published since the last call have been either ack'd or nack'd by the broker.
-
-
-
Field Detail
-
__TYPE_ARG
public static final TypeArg<RabbitMQClient> __TYPE_ARG
-
-
Constructor Detail
-
RabbitMQClient
public RabbitMQClient(RabbitMQClient delegate)
-
RabbitMQClient
public RabbitMQClient(Object delegate)
-
-
Method Detail
-
getDelegate
public RabbitMQClient getDelegate()
-
create
public static RabbitMQClient create(Vertx vertx)
Create and return a client configured with the default options.- Parameters:
vertx
- the vertx instance- Returns:
- the client
-
create
public static RabbitMQClient create(Vertx vertx, RabbitMQOptions config)
Create and return a client.- Parameters:
vertx
- the vertx instanceconfig
- the client config- Returns:
- the client
-
basicAck
public void basicAck(long deliveryTag, boolean multiple, Handler<AsyncResult<Void>> resultHandler)
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.- Parameters:
deliveryTag
-multiple
-resultHandler
-
-
basicAck
public void basicAck(long deliveryTag, boolean multiple)
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.- Parameters:
deliveryTag
-multiple
-
-
rxBasicAck
public io.reactivex.Completable rxBasicAck(long deliveryTag, boolean multiple)
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.- Parameters:
deliveryTag
-multiple
-- Returns:
-
basicNack
public void basicNack(long deliveryTag, boolean multiple, boolean requeue, Handler<AsyncResult<Void>> resultHandler)
Reject one or several received messages.- Parameters:
deliveryTag
-multiple
-requeue
-resultHandler
-
-
basicNack
public void basicNack(long deliveryTag, boolean multiple, boolean requeue)
Reject one or several received messages.- Parameters:
deliveryTag
-multiple
-requeue
-
-
rxBasicNack
public io.reactivex.Completable rxBasicNack(long deliveryTag, boolean multiple, boolean requeue)
Reject one or several received messages.- Parameters:
deliveryTag
-multiple
-requeue
-- Returns:
-
basicGet
public void basicGet(String queue, boolean autoAck, Handler<AsyncResult<RabbitMQMessage>> resultHandler)
Retrieve a message from a queue using AMQP.Basic.Get- Parameters:
queue
-autoAck
-resultHandler
-
-
basicGet
public void basicGet(String queue, boolean autoAck)
Retrieve a message from a queue using AMQP.Basic.Get- Parameters:
queue
-autoAck
-
-
rxBasicGet
public io.reactivex.Single<RabbitMQMessage> rxBasicGet(String queue, boolean autoAck)
Retrieve a message from a queue using AMQP.Basic.Get- Parameters:
queue
-autoAck
-- Returns:
-
basicConsumer
public void basicConsumer(String queue, Handler<AsyncResult<RabbitMQConsumer>> resultHandler)
- Parameters:
queue
-resultHandler
-
-
basicConsumer
public void basicConsumer(String queue)
- Parameters:
queue
-
-
rxBasicConsumer
public io.reactivex.Single<RabbitMQConsumer> rxBasicConsumer(String queue)
- Parameters:
queue
-- Returns:
-
basicConsumer
public void basicConsumer(String queue, QueueOptions options, Handler<AsyncResult<RabbitMQConsumer>> resultHandler)
Create a consumer with the givenoptions
.- Parameters:
queue
- the name of a queueoptions
- options for queueresultHandler
- a handler through which you can find out the operation status; if the operation succeeds you can begin to receive messages through an instance ofRabbitMQConsumer
-
basicConsumer
public void basicConsumer(String queue, QueueOptions options)
Create a consumer with the givenoptions
.- Parameters:
queue
- the name of a queueoptions
- options for queue
-
rxBasicConsumer
public io.reactivex.Single<RabbitMQConsumer> rxBasicConsumer(String queue, QueueOptions options)
Create a consumer with the givenoptions
.- Parameters:
queue
- the name of a queueoptions
- options for queue- Returns:
-
basicPublish
public void basicPublish(String exchange, String routingKey, Buffer body, Handler<AsyncResult<Void>> resultHandler)
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.- Parameters:
exchange
-routingKey
-body
-resultHandler
-
-
basicPublish
public void basicPublish(String exchange, String routingKey, Buffer body)
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.- Parameters:
exchange
-routingKey
-body
-
-
rxBasicPublish
public io.reactivex.Completable rxBasicPublish(String exchange, String routingKey, Buffer body)
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.- Parameters:
exchange
-routingKey
-body
-- Returns:
-
addConfirmListener
public void addConfirmListener(int maxQueueSize, Handler<AsyncResult<ReadStream<RabbitMQConfirmation>>> resultHandler)
Add a Confirm Listener to the channel. Note that this will automatically call confirmSelect, it is not necessary to call that too.- Parameters:
maxQueueSize
- maximum size of the queue of confirmationsresultHandler
- a handler through which you can find out the operation status; if the operation succeeds you can begin to receive confirmations through an instance of
-
addConfirmListener
public void addConfirmListener(int maxQueueSize)
Add a Confirm Listener to the channel. Note that this will automatically call confirmSelect, it is not necessary to call that too.- Parameters:
maxQueueSize
- maximum size of the queue of confirmations
-
rxAddConfirmListener
public io.reactivex.Single<ReadStream<RabbitMQConfirmation>> rxAddConfirmListener(int maxQueueSize)
Add a Confirm Listener to the channel. Note that this will automatically call confirmSelect, it is not necessary to call that too.- Parameters:
maxQueueSize
- maximum size of the queue of confirmations- Returns:
-
confirmSelect
public void confirmSelect(Handler<AsyncResult<Void>> resultHandler)
Enables publisher acknowledgements on this channel. Can be called once during client initialisation. Calls to basicPublish() will have to be confirmed.- Parameters:
resultHandler
-
-
confirmSelect
public void confirmSelect()
Enables publisher acknowledgements on this channel. Can be called once during client initialisation. Calls to basicPublish() will have to be confirmed.
-
rxConfirmSelect
public io.reactivex.Completable rxConfirmSelect()
Enables publisher acknowledgements on this channel. Can be called once during client initialisation. Calls to basicPublish() will have to be confirmed.- Returns:
-
waitForConfirms
public void waitForConfirms(Handler<AsyncResult<Void>> resultHandler)
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.- Parameters:
resultHandler
-
-
waitForConfirms
public void waitForConfirms()
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.
-
rxWaitForConfirms
public io.reactivex.Completable rxWaitForConfirms()
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.- Returns:
-
waitForConfirms
public void waitForConfirms(long timeout, Handler<AsyncResult<Void>> resultHandler)
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.- Parameters:
timeout
-resultHandler
-
-
waitForConfirms
public void waitForConfirms(long timeout)
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.- Parameters:
timeout
-
-
rxWaitForConfirms
public io.reactivex.Completable rxWaitForConfirms(long timeout)
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.- Parameters:
timeout
-- Returns:
-
basicQos
public void basicQos(int prefetchCount, Handler<AsyncResult<Void>> resultHandler)
Request a specific prefetchCount "quality of service" settings for this channel.- Parameters:
prefetchCount
- maximum number of messages that the server will deliver, 0 if unlimitedresultHandler
- handler called when operation is done with a result of the operation
-
basicQos
public void basicQos(int prefetchCount)
Request a specific prefetchCount "quality of service" settings for this channel.- Parameters:
prefetchCount
- maximum number of messages that the server will deliver, 0 if unlimited
-
rxBasicQos
public io.reactivex.Completable rxBasicQos(int prefetchCount)
Request a specific prefetchCount "quality of service" settings for this channel.- Parameters:
prefetchCount
- maximum number of messages that the server will deliver, 0 if unlimited- Returns:
-
basicQos
public void basicQos(int prefetchCount, boolean global, Handler<AsyncResult<Void>> resultHandler)
Request a specific prefetchCount "quality of service" settings for this channel.- Parameters:
prefetchCount
- maximum number of messages that the server will deliver, 0 if unlimitedglobal
- true if the settings should be applied to the entire channel rather than each consumerresultHandler
- handler called when operation is done with a result of the operation
-
basicQos
public void basicQos(int prefetchCount, boolean global)
Request a specific prefetchCount "quality of service" settings for this channel.- Parameters:
prefetchCount
- maximum number of messages that the server will deliver, 0 if unlimitedglobal
- true if the settings should be applied to the entire channel rather than each consumer
-
rxBasicQos
public io.reactivex.Completable rxBasicQos(int prefetchCount, boolean global)
Request a specific prefetchCount "quality of service" settings for this channel.- Parameters:
prefetchCount
- maximum number of messages that the server will deliver, 0 if unlimitedglobal
- true if the settings should be applied to the entire channel rather than each consumer- Returns:
-
basicQos
public void basicQos(int prefetchSize, int prefetchCount, boolean global, Handler<AsyncResult<Void>> resultHandler)
Request specific "quality of service" settings. These settings impose limits on the amount of data the server will deliver to consumers before requiring acknowledgements. Thus they provide a means of consumer-initiated flow control.- Parameters:
prefetchSize
- maximum amount of content (measured in octets) that the server will deliver, 0 if unlimitedprefetchCount
- maximum number of messages that the server will deliver, 0 if unlimitedglobal
- true if the settings should be applied to the entire channel rather than each consumerresultHandler
- handler called when operation is done with a result of the operation
-
basicQos
public void basicQos(int prefetchSize, int prefetchCount, boolean global)
Request specific "quality of service" settings. These settings impose limits on the amount of data the server will deliver to consumers before requiring acknowledgements. Thus they provide a means of consumer-initiated flow control.- Parameters:
prefetchSize
- maximum amount of content (measured in octets) that the server will deliver, 0 if unlimitedprefetchCount
- maximum number of messages that the server will deliver, 0 if unlimitedglobal
- true if the settings should be applied to the entire channel rather than each consumer
-
rxBasicQos
public io.reactivex.Completable rxBasicQos(int prefetchSize, int prefetchCount, boolean global)
Request specific "quality of service" settings. These settings impose limits on the amount of data the server will deliver to consumers before requiring acknowledgements. Thus they provide a means of consumer-initiated flow control.- Parameters:
prefetchSize
- maximum amount of content (measured in octets) that the server will deliver, 0 if unlimitedprefetchCount
- maximum number of messages that the server will deliver, 0 if unlimitedglobal
- true if the settings should be applied to the entire channel rather than each consumer- Returns:
-
exchangeDeclare
public void exchangeDeclare(String exchange, String type, boolean durable, boolean autoDelete, Handler<AsyncResult<Void>> resultHandler)
Declare an exchange.- Parameters:
exchange
-type
-durable
-autoDelete
-resultHandler
-
-
exchangeDeclare
public void exchangeDeclare(String exchange, String type, boolean durable, boolean autoDelete)
Declare an exchange.- Parameters:
exchange
-type
-durable
-autoDelete
-
-
rxExchangeDeclare
public io.reactivex.Completable rxExchangeDeclare(String exchange, String type, boolean durable, boolean autoDelete)
Declare an exchange.- Parameters:
exchange
-type
-durable
-autoDelete
-- Returns:
-
exchangeDeclare
public void exchangeDeclare(String exchange, String type, boolean durable, boolean autoDelete, JsonObject config, Handler<AsyncResult<Void>> resultHandler)
Declare an exchange with additional parameters such as dead lettering, an alternate exchange or TTL.- Parameters:
exchange
-type
-durable
-autoDelete
-config
-resultHandler
-
-
exchangeDeclare
public void exchangeDeclare(String exchange, String type, boolean durable, boolean autoDelete, JsonObject config)
Declare an exchange with additional parameters such as dead lettering, an alternate exchange or TTL.- Parameters:
exchange
-type
-durable
-autoDelete
-config
-
-
rxExchangeDeclare
public io.reactivex.Completable rxExchangeDeclare(String exchange, String type, boolean durable, boolean autoDelete, JsonObject config)
Declare an exchange with additional parameters such as dead lettering, an alternate exchange or TTL.- Parameters:
exchange
-type
-durable
-autoDelete
-config
-- Returns:
-
exchangeDelete
public void exchangeDelete(String exchange, Handler<AsyncResult<Void>> resultHandler)
Delete an exchange, without regard for whether it is in use or not.- Parameters:
exchange
-resultHandler
-
-
exchangeDelete
public void exchangeDelete(String exchange)
Delete an exchange, without regard for whether it is in use or not.- Parameters:
exchange
-
-
rxExchangeDelete
public io.reactivex.Completable rxExchangeDelete(String exchange)
Delete an exchange, without regard for whether it is in use or not.- Parameters:
exchange
-- Returns:
-
exchangeBind
public void exchangeBind(String destination, String source, String routingKey, Handler<AsyncResult<Void>> resultHandler)
Bind an exchange to an exchange.- Parameters:
destination
-source
-routingKey
-resultHandler
-
-
exchangeBind
public void exchangeBind(String destination, String source, String routingKey)
Bind an exchange to an exchange.- Parameters:
destination
-source
-routingKey
-
-
rxExchangeBind
public io.reactivex.Completable rxExchangeBind(String destination, String source, String routingKey)
Bind an exchange to an exchange.- Parameters:
destination
-source
-routingKey
-- Returns:
-
exchangeBind
public void exchangeBind(String destination, String source, String routingKey, Map<String,Object> arguments, Handler<AsyncResult<Void>> resultHandler)
Bind an exchange to an exchange.- Parameters:
destination
-source
-routingKey
-arguments
-resultHandler
-
-
exchangeBind
public void exchangeBind(String destination, String source, String routingKey, Map<String,Object> arguments)
Bind an exchange to an exchange.- Parameters:
destination
-source
-routingKey
-arguments
-
-
rxExchangeBind
public io.reactivex.Completable rxExchangeBind(String destination, String source, String routingKey, Map<String,Object> arguments)
Bind an exchange to an exchange.- Parameters:
destination
-source
-routingKey
-arguments
-- Returns:
-
exchangeUnbind
public void exchangeUnbind(String destination, String source, String routingKey, Handler<AsyncResult<Void>> resultHandler)
Unbind an exchange from an exchange.- Parameters:
destination
-source
-routingKey
-resultHandler
-
-
exchangeUnbind
public void exchangeUnbind(String destination, String source, String routingKey)
Unbind an exchange from an exchange.- Parameters:
destination
-source
-routingKey
-
-
rxExchangeUnbind
public io.reactivex.Completable rxExchangeUnbind(String destination, String source, String routingKey)
Unbind an exchange from an exchange.- Parameters:
destination
-source
-routingKey
-- Returns:
-
exchangeUnbind
public void exchangeUnbind(String destination, String source, String routingKey, Map<String,Object> arguments, Handler<AsyncResult<Void>> resultHandler)
Unbind an exchange from an exchange.- Parameters:
destination
-source
-routingKey
-arguments
-resultHandler
-
-
exchangeUnbind
public void exchangeUnbind(String destination, String source, String routingKey, Map<String,Object> arguments)
Unbind an exchange from an exchange.- Parameters:
destination
-source
-routingKey
-arguments
-
-
rxExchangeUnbind
public io.reactivex.Completable rxExchangeUnbind(String destination, String source, String routingKey, Map<String,Object> arguments)
Unbind an exchange from an exchange.- Parameters:
destination
-source
-routingKey
-arguments
-- Returns:
-
queueDeclareAuto
public void queueDeclareAuto(Handler<AsyncResult<JsonObject>> resultHandler)
Actively declare a server-named exclusive, autodelete, non-durable queue.- Parameters:
resultHandler
-
-
queueDeclareAuto
public void queueDeclareAuto()
Actively declare a server-named exclusive, autodelete, non-durable queue.
-
rxQueueDeclareAuto
public io.reactivex.Single<JsonObject> rxQueueDeclareAuto()
Actively declare a server-named exclusive, autodelete, non-durable queue.- Returns:
-
queueBind
public void queueBind(String queue, String exchange, String routingKey, Handler<AsyncResult<Void>> resultHandler)
Bind a queue to an exchange- Parameters:
queue
-exchange
-routingKey
-resultHandler
-
-
queueBind
public void queueBind(String queue, String exchange, String routingKey)
Bind a queue to an exchange- Parameters:
queue
-exchange
-routingKey
-
-
rxQueueBind
public io.reactivex.Completable rxQueueBind(String queue, String exchange, String routingKey)
Bind a queue to an exchange- Parameters:
queue
-exchange
-routingKey
-- Returns:
-
queueBind
public void queueBind(String queue, String exchange, String routingKey, Map<String,Object> arguments, Handler<AsyncResult<Void>> resultHandler)
Bind a queue to an exchange- Parameters:
queue
-exchange
-routingKey
-arguments
-resultHandler
-
-
queueBind
public void queueBind(String queue, String exchange, String routingKey, Map<String,Object> arguments)
Bind a queue to an exchange- Parameters:
queue
-exchange
-routingKey
-arguments
-
-
rxQueueBind
public io.reactivex.Completable rxQueueBind(String queue, String exchange, String routingKey, Map<String,Object> arguments)
Bind a queue to an exchange- Parameters:
queue
-exchange
-routingKey
-arguments
-- Returns:
-
queueUnbind
public void queueUnbind(String queue, String exchange, String routingKey, Handler<AsyncResult<Void>> resultHandler)
Unbind a queue from an exchange- Parameters:
queue
-exchange
-routingKey
-resultHandler
-
-
queueUnbind
public void queueUnbind(String queue, String exchange, String routingKey)
Unbind a queue from an exchange- Parameters:
queue
-exchange
-routingKey
-
-
rxQueueUnbind
public io.reactivex.Completable rxQueueUnbind(String queue, String exchange, String routingKey)
Unbind a queue from an exchange- Parameters:
queue
-exchange
-routingKey
-- Returns:
-
queueUnbind
public void queueUnbind(String queue, String exchange, String routingKey, Map<String,Object> arguments, Handler<AsyncResult<Void>> resultHandler)
Unbind a queue from an exchange- Parameters:
queue
-exchange
-routingKey
-arguments
-resultHandler
-
-
queueUnbind
public void queueUnbind(String queue, String exchange, String routingKey, Map<String,Object> arguments)
Unbind a queue from an exchange- Parameters:
queue
-exchange
-routingKey
-arguments
-
-
rxQueueUnbind
public io.reactivex.Completable rxQueueUnbind(String queue, String exchange, String routingKey, Map<String,Object> arguments)
Unbind a queue from an exchange- Parameters:
queue
-exchange
-routingKey
-arguments
-- Returns:
-
messageCount
public void messageCount(String queue, Handler<AsyncResult<Long>> resultHandler)
Returns the number of messages in a queue ready to be delivered.- Parameters:
queue
-resultHandler
-
-
messageCount
public void messageCount(String queue)
Returns the number of messages in a queue ready to be delivered.- Parameters:
queue
-
-
rxMessageCount
public io.reactivex.Single<Long> rxMessageCount(String queue)
Returns the number of messages in a queue ready to be delivered.- Parameters:
queue
-- Returns:
-
start
public void start(Handler<AsyncResult<Void>> resultHandler)
Start the rabbitMQ client. Create the connection and the channel.- Parameters:
resultHandler
-
-
start
public void start()
Start the rabbitMQ client. Create the connection and the channel.
-
rxStart
public io.reactivex.Completable rxStart()
Start the rabbitMQ client. Create the connection and the channel.- Returns:
-
stop
public void stop(Handler<AsyncResult<Void>> resultHandler)
Stop the rabbitMQ client. Close the connection and its channel.- Parameters:
resultHandler
-
-
stop
public void stop()
Stop the rabbitMQ client. Close the connection and its channel.
-
rxStop
public io.reactivex.Completable rxStop()
Stop the rabbitMQ client. Close the connection and its channel.- Returns:
-
isConnected
public boolean isConnected()
Check if a connection is open- Returns:
- true when the connection is open, false otherwise
-
restartConnect
public void restartConnect(int attempts, Handler<AsyncResult<Void>> resultHandler)
restart the rabbitMQ connect.- Parameters:
attempts
- number of attemptsresultHandler
- handler called when operation is done with a result of the operation
-
restartConnect
public void restartConnect(int attempts)
restart the rabbitMQ connect.- Parameters:
attempts
- number of attempts
-
rxRestartConnect
public io.reactivex.Completable rxRestartConnect(int attempts)
restart the rabbitMQ connect.- Parameters:
attempts
- number of attempts- Returns:
-
isOpenChannel
public boolean isOpenChannel()
Check if a channel is open- Returns:
- true when the connection is open, false otherwise
-
basicPublish
public void basicPublish(String exchange, String routingKey, com.rabbitmq.client.BasicProperties properties, Buffer body, Handler<AsyncResult<Void>> resultHandler)
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.- Parameters:
exchange
-routingKey
-properties
-body
-resultHandler
-
-
basicPublish
public void basicPublish(String exchange, String routingKey, com.rabbitmq.client.BasicProperties properties, Buffer body)
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.- Parameters:
exchange
-routingKey
-properties
-body
-
-
rxBasicPublish
public io.reactivex.Completable rxBasicPublish(String exchange, String routingKey, com.rabbitmq.client.BasicProperties properties, Buffer body)
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.- Parameters:
exchange
-routingKey
-properties
-body
-- Returns:
-
basicPublishWithDeliveryTag
public void basicPublishWithDeliveryTag(String exchange, String routingKey, com.rabbitmq.client.BasicProperties properties, Buffer body, Handler<Long> deliveryTagHandler, Handler<AsyncResult<Void>> resultHandler)
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. The deliveryTagHandler will be called before the message is sent, which is necessary because the confirmation may arrive asynchronously before the resultHandler is called.- Parameters:
exchange
-routingKey
-properties
-body
-deliveryTagHandler
- callback to capture the deliveryTag for this message. Note that this will be called synchronously in the context of the client before the result is known.resultHandler
-
-
basicPublishWithDeliveryTag
public void basicPublishWithDeliveryTag(String exchange, String routingKey, com.rabbitmq.client.BasicProperties properties, Buffer body, Handler<Long> deliveryTagHandler)
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. The deliveryTagHandler will be called before the message is sent, which is necessary because the confirmation may arrive asynchronously before the resultHandler is called.- Parameters:
exchange
-routingKey
-properties
-body
-deliveryTagHandler
- callback to capture the deliveryTag for this message. Note that this will be called synchronously in the context of the client before the result is known.
-
rxBasicPublishWithDeliveryTag
public io.reactivex.Completable rxBasicPublishWithDeliveryTag(String exchange, String routingKey, com.rabbitmq.client.BasicProperties properties, Buffer body, Handler<Long> deliveryTagHandler)
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. The deliveryTagHandler will be called before the message is sent, which is necessary because the confirmation may arrive asynchronously before the resultHandler is called.- Parameters:
exchange
-routingKey
-properties
-body
-deliveryTagHandler
- callback to capture the deliveryTag for this message. Note that this will be called synchronously in the context of the client before the result is known.- Returns:
-
queueDeclare
public void queueDeclare(String queue, boolean durable, boolean exclusive, boolean autoDelete, Handler<AsyncResult<com.rabbitmq.client.AMQP.Queue.DeclareOk>> resultHandler)
Declare a queue- Parameters:
queue
-durable
-exclusive
-autoDelete
-resultHandler
-
-
queueDeclare
public void queueDeclare(String queue, boolean durable, boolean exclusive, boolean autoDelete)
Declare a queue- Parameters:
queue
-durable
-exclusive
-autoDelete
-
-
rxQueueDeclare
public io.reactivex.Single<com.rabbitmq.client.AMQP.Queue.DeclareOk> rxQueueDeclare(String queue, boolean durable, boolean exclusive, boolean autoDelete)
Declare a queue- Parameters:
queue
-durable
-exclusive
-autoDelete
-- Returns:
-
queueDeclare
public void queueDeclare(String queue, boolean durable, boolean exclusive, boolean autoDelete, JsonObject config, Handler<AsyncResult<com.rabbitmq.client.AMQP.Queue.DeclareOk>> resultHandler)
Declare a queue with config options- Parameters:
queue
-durable
-exclusive
-autoDelete
-config
-resultHandler
-
-
queueDeclare
public void queueDeclare(String queue, boolean durable, boolean exclusive, boolean autoDelete, JsonObject config)
Declare a queue with config options- Parameters:
queue
-durable
-exclusive
-autoDelete
-config
-
-
rxQueueDeclare
public io.reactivex.Single<com.rabbitmq.client.AMQP.Queue.DeclareOk> rxQueueDeclare(String queue, boolean durable, boolean exclusive, boolean autoDelete, JsonObject config)
Declare a queue with config options- Parameters:
queue
-durable
-exclusive
-autoDelete
-config
-- Returns:
-
queueDelete
public void queueDelete(String queue, Handler<AsyncResult<com.rabbitmq.client.AMQP.Queue.DeleteOk>> resultHandler)
Delete a queue, without regard for whether it is in use or has messages on it- Parameters:
queue
-resultHandler
-
-
queueDelete
public void queueDelete(String queue)
Delete a queue, without regard for whether it is in use or has messages on it- Parameters:
queue
-
-
rxQueueDelete
public io.reactivex.Single<com.rabbitmq.client.AMQP.Queue.DeleteOk> rxQueueDelete(String queue)
Delete a queue, without regard for whether it is in use or has messages on it- Parameters:
queue
-- Returns:
-
queueDeleteIf
public void queueDeleteIf(String queue, boolean ifUnused, boolean ifEmpty, Handler<AsyncResult<com.rabbitmq.client.AMQP.Queue.DeleteOk>> resultHandler)
Delete a queue- Parameters:
queue
-ifUnused
-ifEmpty
-resultHandler
-
-
queueDeleteIf
public void queueDeleteIf(String queue, boolean ifUnused, boolean ifEmpty)
Delete a queue- Parameters:
queue
-ifUnused
-ifEmpty
-
-
rxQueueDeleteIf
public io.reactivex.Single<com.rabbitmq.client.AMQP.Queue.DeleteOk> rxQueueDeleteIf(String queue, boolean ifUnused, boolean ifEmpty)
Delete a queue- Parameters:
queue
-ifUnused
-ifEmpty
-- Returns:
-
newInstance
public static RabbitMQClient newInstance(RabbitMQClient arg)
-
-