Class TeeMessageSender

  • All Implemented Interfaces:
    MessageSender

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

      • TeeMessageSender

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

        public TeeMessageSender​(@Nonnull
                                java.util.List<? extends MessageSender> endpoints)
      • TeeMessageSender

        public TeeMessageSender​(@Nonnull
                                MessageSender... endpoints)
    • Method Detail

      • send

        public java.util.concurrent.CompletableFuture<java.lang.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 java.util.concurrent.CompletableFuture<java.lang.Void> sendBatch​(@Nonnull
                                                                                java.util.stream.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.