Class DefaultMessagingService
java.lang.Object
com.iantapply.relay.core.DefaultMessagingService
- All Implemented Interfaces:
com.iantapply.relay.api.MessagingService, AutoCloseable
public final class DefaultMessagingService
extends Object
implements com.iantapply.relay.api.MessagingService, AutoCloseable
Default typed messaging implementation backed by a pluggable
MessageTransport.-
Constructor Summary
ConstructorsConstructorDescriptionDefaultMessagingService(RelayConfig config, MessageTransport transport, Logger logger) Starts a messaging service and its transport subscriptions. -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()metrics()Returns cumulative operational counters and current transport state.<T> CompletionStage<com.iantapply.relay.api.MessageId> publish(com.iantapply.relay.api.Topic<T> topic, com.iantapply.relay.api.Destination destination, T payload) <T> CompletionStage<com.iantapply.relay.api.MessageId> publish(com.iantapply.relay.api.Topic<T> topic, com.iantapply.relay.api.Destination destination, T payload, com.iantapply.relay.api.PublishOptions options) com.iantapply.relay.api.MessagingStatusstatus()<T> com.iantapply.relay.api.Subscriptionsubscribe(com.iantapply.relay.api.Topic<T> topic, com.iantapply.relay.api.MessageHandler<T> handler)
-
Constructor Details
-
DefaultMessagingService
Starts a messaging service and its transport subscriptions.- Parameters:
config- validated node configurationtransport- transport used for publication and receptionlogger- destination for operational warnings
-
-
Method Details
-
publish
public <T> CompletionStage<com.iantapply.relay.api.MessageId> publish(com.iantapply.relay.api.Topic<T> topic, com.iantapply.relay.api.Destination destination, T payload) - Specified by:
publishin interfacecom.iantapply.relay.api.MessagingService
-
publish
public <T> CompletionStage<com.iantapply.relay.api.MessageId> publish(com.iantapply.relay.api.Topic<T> topic, com.iantapply.relay.api.Destination destination, T payload, com.iantapply.relay.api.PublishOptions options) - Specified by:
publishin interfacecom.iantapply.relay.api.MessagingService
-
subscribe
public <T> com.iantapply.relay.api.Subscription subscribe(com.iantapply.relay.api.Topic<T> topic, com.iantapply.relay.api.MessageHandler<T> handler) - Specified by:
subscribein interfacecom.iantapply.relay.api.MessagingService
-
status
public com.iantapply.relay.api.MessagingStatus status()- Specified by:
statusin interfacecom.iantapply.relay.api.MessagingService
-
metrics
Returns cumulative operational counters and current transport state.- Returns:
- current metrics snapshot
-
close
public void close()- Specified by:
closein interfaceAutoCloseable
-