
pl.allegro.tech.hermes.consumers.consumer.sender.CompletableFutureAwareMessageSender Maven / Gradle / Ivy
package pl.allegro.tech.hermes.consumers.consumer.sender;
import pl.allegro.tech.hermes.consumers.consumer.Message;
import java.util.concurrent.CompletableFuture;
public abstract class CompletableFutureAwareMessageSender implements MessageSender {
@Override
public CompletableFuture send(Message message) {
try {
CompletableFuture resultFuture = new CompletableFuture<>();
sendMessage(message, resultFuture);
return resultFuture;
} catch (Exception e) {
return CompletableFuture.completedFuture(MessageSendingResult.failedResult(e));
}
}
protected abstract void sendMessage(Message message, CompletableFuture resultFuture);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy