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 theoriginalnon 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> EventBusaddInboundInterceptor(Consumer<DeliveryContext<T>> interceptor)<T> EventBusaddOutboundInterceptor(Consumer<DeliveryContext<T>> interceptor)<T> MessageConsumer<T>consumer(String address)<T> MessageConsumer<T>consumer(String address, Consumer<Message<T>> handler)booleanequals(Object o)io.vertx.core.eventbus.EventBusgetDelegate()inthashCode()booleanisMetricsEnabled()<T> MessageConsumer<T>localConsumer(String address)<T> MessageConsumer<T>localConsumer(String address, Consumer<Message<T>> handler)static EventBusnewInstance(io.vertx.core.eventbus.EventBus arg)EventBuspublish(String address, Object message)EventBuspublish(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)EventBusregisterCodec(io.vertx.core.eventbus.MessageCodec codec)<T> EventBusremoveInboundInterceptor(Consumer<DeliveryContext<T>> interceptor)<T> EventBusremoveOutboundInterceptor(Consumer<DeliveryContext<T>> interceptor)<T> io.smallrye.mutiny.Uni<Message<T>>request(String address, Object message)Sends a message and specify areplyHandlerthat 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 specifyingoptionsthat 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> EventBusrequestAndForget(String address, Object message)Variant ofrequest(String,Object)that ignores the result of the operation.<T> EventBusrequestAndForget(String address, Object message, io.vertx.core.eventbus.DeliveryOptions options)Variant ofrequest(String,Object,DeliveryOptions)that ignores the result of the operation.EventBussend(String address, Object message)EventBussend(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)StringtoString()EventBusunregisterCodec(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:
getDelegatein interfaceMeasured
-
isMetricsEnabled
public boolean isMetricsEnabled()
- Specified by:
isMetricsEnabledin interfaceMeasured- Returns:
trueif 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 benulloptions- delivery options- Returns:
- a reference to this, so the API can be used fluently
-
request
@CheckReturnValue public <T> io.smallrye.mutiny.Uni<Message<T>> request(String address, Object message)
Sends a message and specify areplyHandlerthat 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
unifiring 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
@CheckReturnValue 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 specifyingoptionsthat 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 benulloptions- delivery options- Returns:
- the
unifiring 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 benulloptions- 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 benulloptions- 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 benulloptions- 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)
-
-