Class EventBus
- java.lang.Object
-
- io.vertx.mutiny.core.eventbus.EventBus
-
- All Implemented Interfaces:
Measured
public class EventBus extends Object implements Measured
A Vert.x event-bus is a light-weight distributed messaging system which allows different parts of your application, or different applications and services to communicate with each in a loosely coupled way.An event-bus supports publish-subscribe messaging, point-to-point messaging and request-response messaging.
Message delivery is best-effort and messages can be lost if failure of all or part of the event bus occurs.
Please refer to the documentation for more information on the event bus.
NOTE: This class has been automatically generated from theoriginal
non Mutiny-ified interface using Vert.x codegen.
-
-
Field Summary
Fields Modifier and Type Field Description static TypeArg<EventBus>
__TYPE_ARG
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description <T> EventBus
addInboundInterceptor(Consumer<DeliveryContext<T>> interceptor)
<T> EventBus
addOutboundInterceptor(Consumer<DeliveryContext<T>> interceptor)
<T> MessageConsumer<T>
consumer(String address)
<T> MessageConsumer<T>
consumer(String address, Consumer<Message<T>> handler)
boolean
equals(Object o)
io.vertx.core.eventbus.EventBus
getDelegate()
int
hashCode()
boolean
isMetricsEnabled()
<T> MessageConsumer<T>
localConsumer(String address)
<T> MessageConsumer<T>
localConsumer(String address, Consumer<Message<T>> handler)
static EventBus
newInstance(io.vertx.core.eventbus.EventBus arg)
EventBus
publish(String address, Object message)
EventBus
publish(String address, Object message, io.vertx.core.eventbus.DeliveryOptions options)
<T> MessageProducer<T>
publisher(String address)
<T> MessageProducer<T>
publisher(String address, io.vertx.core.eventbus.DeliveryOptions options)
EventBus
registerCodec(io.vertx.core.eventbus.MessageCodec codec)
<T> EventBus
removeInboundInterceptor(Consumer<DeliveryContext<T>> interceptor)
<T> EventBus
removeOutboundInterceptor(Consumer<DeliveryContext<T>> interceptor)
<T> io.smallrye.mutiny.Uni<Message<T>>
request(String address, Object message)
Sends a message and specify areplyHandler
that will be called if the recipient subsequently replies to the message.<T> io.smallrye.mutiny.Uni<Message<T>>
request(String address, Object message, io.vertx.core.eventbus.DeliveryOptions options)
Likerequest(java.lang.String, java.lang.Object)
but specifyingoptions
that can be used to configure the delivery.<T> Message<T>
requestAndAwait(String address, Object message)
Blocking variant ofrequest(String,Object)
.<T> Message<T>
requestAndAwait(String address, Object message, io.vertx.core.eventbus.DeliveryOptions options)
Blocking variant ofrequest(String,Object,DeliveryOptions)
.<T> EventBus
requestAndForget(String address, Object message)
Variant ofrequest(String,Object)
that ignores the result of the operation.<T> EventBus
requestAndForget(String address, Object message, io.vertx.core.eventbus.DeliveryOptions options)
Variant ofrequest(String,Object,DeliveryOptions)
that ignores the result of the operation.EventBus
send(String address, Object message)
EventBus
send(String address, Object message, io.vertx.core.eventbus.DeliveryOptions options)
<T> MessageProducer<T>
sender(String address)
<T> MessageProducer<T>
sender(String address, io.vertx.core.eventbus.DeliveryOptions options)
String
toString()
EventBus
unregisterCodec(String name)
-
-
-
Constructor Detail
-
EventBus
public EventBus(io.vertx.core.eventbus.EventBus delegate)
-
EventBus
public EventBus(Object delegate)
-
-
Method Detail
-
getDelegate
public io.vertx.core.eventbus.EventBus getDelegate()
- Specified by:
getDelegate
in interfaceMeasured
-
isMetricsEnabled
public boolean isMetricsEnabled()
- Specified by:
isMetricsEnabled
in interfaceMeasured
- Returns:
true
if metrics are enabled
-
send
public EventBus send(String address, Object message)
- Parameters:
address
- the address to send it tomessage
- the message, may benull
- Returns:
- a reference to this, so the API can be used fluently
-
send
public EventBus send(String address, Object message, io.vertx.core.eventbus.DeliveryOptions options)
- Parameters:
address
- the address to send it tomessage
- the message, may benull
options
- delivery options- Returns:
- a reference to this, so the API can be used fluently
-
request
public <T> io.smallrye.mutiny.Uni<Message<T>> request(String address, Object message)
Sends a message and specify areplyHandler
that will be called if the recipient subsequently replies to the message.The message will be delivered to at most one of the handlers registered to the address.
Unlike the bare Vert.x variant, this method returns a
Uni
. Don't forget to subscribe on it to trigger the operation.- Parameters:
address
- the address to send it tomessage
- the message body, may benull
- Returns:
- the
uni
firing the result of the operation when completed, or a failure if the operation failed.
-
requestAndAwait
public <T> Message<T> requestAndAwait(String address, Object message)
Blocking variant ofrequest(String,Object)
.This method waits for the completion of the underlying asynchronous operation. If the operation completes successfully, the result is returned, otherwise the failure is thrown (potentially wrapped in a RuntimeException).
- Parameters:
address
- the address to send it tomessage
- the message body, may benull
- Returns:
- the Message
instance produced by the operation.
-
requestAndForget
public <T> EventBus requestAndForget(String address, Object message)
Variant ofrequest(String,Object)
that ignores the result of the operation.This method subscribes on the result of
request(String,Object)
, but discards the outcome (item or failure). This method is useful to trigger the asynchronous operation fromrequest(String,Object)
but you don't need to compose it with other operations.- Parameters:
address
- the address to send it tomessage
- the message body, may benull
- Returns:
- the instance of EventBus to chain method calls.
-
request
public <T> io.smallrye.mutiny.Uni<Message<T>> request(String address, Object message, io.vertx.core.eventbus.DeliveryOptions options)
Likerequest(java.lang.String, java.lang.Object)
but specifyingoptions
that can be used to configure the delivery.Unlike the bare Vert.x variant, this method returns a
Uni
. Don't forget to subscribe on it to trigger the operation.- Parameters:
address
- the address to send it tomessage
- the message body, may benull
options
- delivery options- Returns:
- the
uni
firing the result of the operation when completed, or a failure if the operation failed.
-
requestAndAwait
public <T> Message<T> requestAndAwait(String address, Object message, io.vertx.core.eventbus.DeliveryOptions options)
Blocking variant ofrequest(String,Object,DeliveryOptions)
.This method waits for the completion of the underlying asynchronous operation. If the operation completes successfully, the result is returned, otherwise the failure is thrown (potentially wrapped in a RuntimeException).
- Parameters:
address
- the address to send it tomessage
- the message body, may benull
options
- delivery options- Returns:
- the Message
instance produced by the operation.
-
requestAndForget
public <T> EventBus requestAndForget(String address, Object message, io.vertx.core.eventbus.DeliveryOptions options)
Variant ofrequest(String,Object,DeliveryOptions)
that ignores the result of the operation.This method subscribes on the result of
request(String,Object,DeliveryOptions)
, but discards the outcome (item or failure). This method is useful to trigger the asynchronous operation fromrequest(String,Object,DeliveryOptions)
but you don't need to compose it with other operations.- Parameters:
address
- the address to send it tomessage
- the message body, may benull
options
- delivery options- Returns:
- the instance of EventBus to chain method calls.
-
publish
public EventBus publish(String address, Object message)
- Parameters:
address
- the address to publish it tomessage
- the message, may benull
- Returns:
- a reference to this, so the API can be used fluently
-
publish
public EventBus publish(String address, Object message, io.vertx.core.eventbus.DeliveryOptions options)
- Parameters:
address
- the address to publish it tomessage
- the message, may benull
options
- the delivery options- Returns:
- a reference to this, so the API can be used fluently
-
consumer
public <T> MessageConsumer<T> consumer(String address)
- Parameters:
address
- the address that it will register it at- Returns:
- the event bus message consumer
-
consumer
public <T> MessageConsumer<T> consumer(String address, Consumer<Message<T>> handler)
- Parameters:
address
- the address that will register it athandler
- the handler that will process the received messages- Returns:
-
localConsumer
public <T> MessageConsumer<T> localConsumer(String address)
- Parameters:
address
- the address to register it at- Returns:
- the event bus message consumer
-
localConsumer
public <T> MessageConsumer<T> localConsumer(String address, Consumer<Message<T>> handler)
- Parameters:
address
- the address that will register it athandler
- the handler that will process the received messages- Returns:
-
sender
public <T> MessageProducer<T> sender(String address)
- Parameters:
address
- the address to send it to- Returns:
- The sender
-
sender
public <T> MessageProducer<T> sender(String address, io.vertx.core.eventbus.DeliveryOptions options)
- Parameters:
address
- the address to send it tooptions
- the delivery options- Returns:
- The sender
-
publisher
public <T> MessageProducer<T> publisher(String address)
- Parameters:
address
- The address to publish it to- Returns:
- The publisher
-
publisher
public <T> MessageProducer<T> publisher(String address, io.vertx.core.eventbus.DeliveryOptions options)
- Parameters:
address
- the address to publish it tooptions
- the delivery options- Returns:
- The publisher
-
addOutboundInterceptor
public <T> EventBus addOutboundInterceptor(Consumer<DeliveryContext<T>> interceptor)
- Parameters:
interceptor
- the interceptor- Returns:
-
removeOutboundInterceptor
public <T> EventBus removeOutboundInterceptor(Consumer<DeliveryContext<T>> interceptor)
- Parameters:
interceptor
- the interceptor- Returns:
-
addInboundInterceptor
public <T> EventBus addInboundInterceptor(Consumer<DeliveryContext<T>> interceptor)
- Parameters:
interceptor
- the interceptor- Returns:
-
removeInboundInterceptor
public <T> EventBus removeInboundInterceptor(Consumer<DeliveryContext<T>> interceptor)
- Parameters:
interceptor
- the interceptor- Returns:
-
registerCodec
public EventBus registerCodec(io.vertx.core.eventbus.MessageCodec codec)
- Parameters:
codec
- the message codec to register- Returns:
- a reference to this, so the API can be used fluently
-
unregisterCodec
public EventBus unregisterCodec(String name)
- Parameters:
name
- the name of the codec- Returns:
- a reference to this, so the API can be used fluently
-
newInstance
public static EventBus newInstance(io.vertx.core.eventbus.EventBus arg)
-
-