Class TeeMessageSender

java.lang.Object
de.otto.synapse.endpoint.sender.TeeMessageSender
All Implemented Interfaces:
MessageSender

public class TeeMessageSender extends Object implements MessageSender
A MessageSender that is sending all messages to N delegate MessageSenders.
  • Constructor Details

    • TeeMessageSender

      public TeeMessageSender(@Nonnull com.google.common.collect.ImmutableList<? extends MessageSender> endpoints)
    • TeeMessageSender

      public TeeMessageSender(@Nonnull List<? extends MessageSender> endpoints)
    • TeeMessageSender

      public TeeMessageSender(@Nonnull MessageSender... endpoints)
  • Method Details

    • send

      public CompletableFuture<Void> send(@Nonnull Message<?> message)
      Description copied from interface: MessageSender
      Send a single Message to the channel.
      Specified by:
      send in interface MessageSender
      Parameters:
      message - the message
      Returns:
      a CompletableFuture that can be used for logging, error handling, waiting for completion, etc.
    • sendBatch

      public CompletableFuture<Void> sendBatch(@Nonnull Stream<? extends Message<?>> batch)
      Description copied from interface: MessageSender
      Send a batch of messages to the channel.
      Specified by:
      sendBatch in interface MessageSender
      Parameters:
      batch - the batch of messages
      Returns:
      a CompletableFuture that can be used for logging, error handling, waiting for completion, etc.