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.
    • Method Summary

      Modifier and Type Method Description
      java.util.concurrent.CompletableFuture<java.lang.Void> send​(Message<?> message)
      Send a single Message to the channel.
      java.util.concurrent.CompletableFuture<java.lang.Void> sendBatch​(java.util.stream.Stream<? extends Message<?>> batch)
      Send a batch of messages to the channel.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 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.