Package io.vertx.reactivex.rabbitmq
Class RabbitMQPublisher
- java.lang.Object
-
- io.vertx.reactivex.rabbitmq.RabbitMQPublisher
-
public class RabbitMQPublisher extends Object
A reliable publisher that- Queues up messages internally until it can successfully call basicPublish.
- Notifies the caller using a robust ID (not delivery tag) when the message is confirmed by rabbit.
NOTE: This class has been automatically generated from the
original
non RX-ified interface using Vert.x codegen.
-
-
Field Summary
Fields Modifier and Type Field Description static io.vertx.lang.rx.TypeArg<RabbitMQPublisher>
__TYPE_ARG
-
Constructor Summary
Constructors Constructor Description RabbitMQPublisher(RabbitMQPublisher delegate)
RabbitMQPublisher(Object delegate)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static RabbitMQPublisher
create(Vertx vertx, RabbitMQClient client, RabbitMQPublisherOptions options)
Create and return a publisher using the specified client.boolean
equals(Object o)
ReadStream<RabbitMQPublisherConfirmation>
getConfirmationStream()
Get the ReadStream that contains the message IDs for confirmed messages.RabbitMQPublisher
getDelegate()
int
hashCode()
static RabbitMQPublisher
newInstance(RabbitMQPublisher arg)
Future<Void>
publish(String exchange, String routingKey, com.rabbitmq.client.BasicProperties properties, Buffer body)
Publish a message.Future<Long>
publishConfirm(String exchange, String routingKey, com.rabbitmq.client.BasicProperties properties, Buffer body)
Publish a message and complete when publish confirm has returned.int
queueSize()
Get the number of published, but not sent, messages.void
restart()
Undo the effects of calling so that publish may be called again.Completable
rxPublish(String exchange, String routingKey, com.rabbitmq.client.BasicProperties properties, Buffer body)
Publish a message.Single<Long>
rxPublishConfirm(String exchange, String routingKey, com.rabbitmq.client.BasicProperties properties, Buffer body)
Publish a message and complete when publish confirm has returned.Completable
rxStart()
Start the rabbitMQ publisher.Completable
rxStop()
Stop the rabbitMQ publisher.Future<Void>
start()
Start the rabbitMQ publisher.Future<Void>
stop()
Stop the rabbitMQ publisher.String
toString()
-
-
-
Field Detail
-
__TYPE_ARG
public static final io.vertx.lang.rx.TypeArg<RabbitMQPublisher> __TYPE_ARG
-
-
Constructor Detail
-
RabbitMQPublisher
public RabbitMQPublisher(RabbitMQPublisher delegate)
-
RabbitMQPublisher
public RabbitMQPublisher(Object delegate)
-
-
Method Detail
-
getDelegate
public RabbitMQPublisher getDelegate()
-
create
public static RabbitMQPublisher create(Vertx vertx, RabbitMQClient client, RabbitMQPublisherOptions options)
Create and return a publisher using the specified client.- Parameters:
vertx
- the vertx instance.client
- the RabbitMQClient.options
- options for the publisher.- Returns:
- the publisher
-
start
public Future<Void> start()
Start the rabbitMQ publisher. The RabbitMQClient should have been started before this.- Returns:
-
rxStart
public Completable rxStart()
Start the rabbitMQ publisher. The RabbitMQClient should have been started before this.- Returns:
-
stop
public Future<Void> stop()
Stop the rabbitMQ publisher. Calling this is optional, but it gives the opportunity to drain the send queue without losing messages. Future calls to publish will be ignored.- Returns:
-
rxStop
public Completable rxStop()
Stop the rabbitMQ publisher. Calling this is optional, but it gives the opportunity to drain the send queue without losing messages. Future calls to publish will be ignored.- Returns:
-
restart
public void restart()
Undo the effects of calling so that publish may be called again. It is harmless to call restart() when has not been called, however if restart() is called whilst is being processed the will never complete.
-
getConfirmationStream
public ReadStream<RabbitMQPublisherConfirmation> getConfirmationStream()
Get the ReadStream that contains the message IDs for confirmed messages. The message IDs in this ReadStream are taken from the message properties, if these message IDs are not set then this ReadStream will contain nulls and using this publisher will be pointless.- Returns:
- the ReadStream that contains the message IDs for confirmed messages.
-
queueSize
public int queueSize()
Get the number of published, but not sent, messages.- Returns:
- the number of published, but not sent, messages.
-
publish
public Future<Void> publish(String exchange, String routingKey, com.rabbitmq.client.BasicProperties properties, Buffer body)
Publish a message.- Parameters:
exchange
-routingKey
-properties
-body
-- Returns:
-
rxPublish
public Completable rxPublish(String exchange, String routingKey, com.rabbitmq.client.BasicProperties properties, Buffer body)
Publish a message.- Parameters:
exchange
-routingKey
-properties
-body
-- Returns:
-
publishConfirm
public Future<Long> publishConfirm(String exchange, String routingKey, com.rabbitmq.client.BasicProperties properties, Buffer body)
Publish a message and complete when publish confirm has returned.- Parameters:
exchange
-routingKey
-properties
-body
-- Returns:
-
rxPublishConfirm
public Single<Long> rxPublishConfirm(String exchange, String routingKey, com.rabbitmq.client.BasicProperties properties, Buffer body)
Publish a message and complete when publish confirm has returned.- Parameters:
exchange
-routingKey
-properties
-body
-- Returns:
-
newInstance
public static RabbitMQPublisher newInstance(RabbitMQPublisher arg)
-
-