Package de.otto.synapse.endpoint.sender
Class TeeMessageSender
java.lang.Object
de.otto.synapse.endpoint.sender.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 Summary
Constructors Constructor Description TeeMessageSender(com.google.common.collect.ImmutableList<? extends MessageSender> endpoints)TeeMessageSender(MessageSender... endpoints)TeeMessageSender(java.util.List<? extends MessageSender> endpoints) -
Method Summary
Modifier and Type Method Description java.util.concurrent.CompletableFuture<java.lang.Void>send(Message<?> message)Send a singleMessageto the channel.java.util.concurrent.CompletableFuture<java.lang.Void>sendBatch(java.util.stream.Stream<? extends Message<?>> batch)Send a batch ofmessagesto the channel.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
TeeMessageSender
public TeeMessageSender(@Nonnull com.google.common.collect.ImmutableList<? extends MessageSender> endpoints) -
TeeMessageSender
-
TeeMessageSender
-
-
Method Details
-
send
Description copied from interface:MessageSenderSend a singleMessageto the channel.- Specified by:
sendin interfaceMessageSender- 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:MessageSenderSend a batch ofmessagesto the channel.- Specified by:
sendBatchin interfaceMessageSender- Parameters:
batch- the batch of messages- Returns:
- a CompletableFuture that can be used for logging, error handling, waiting for completion, etc.
-