From b1a93930c4e9bfde928c442d79673d6b8643f9f4 Mon Sep 17 00:00:00 2001 From: Kai Moritz Date: Fri, 14 Mar 2025 10:21:52 +0100 Subject: [PATCH] =?utf8?q?Ergebniskontrolle=20=C3=BCber=20das=20zur=C3=BCc?= =?utf8?q?kgegebenen=20Future?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../java/de/juplo/kafka/ExampleProducer.java | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/main/java/de/juplo/kafka/ExampleProducer.java b/src/main/java/de/juplo/kafka/ExampleProducer.java index a7645889..c81d3bf7 100644 --- a/src/main/java/de/juplo/kafka/ExampleProducer.java +++ b/src/main/java/de/juplo/kafka/ExampleProducer.java @@ -1,12 +1,14 @@ package de.juplo.kafka; import lombok.extern.slf4j.Slf4j; -import org.apache.kafka.clients.producer.Producer; import org.apache.kafka.clients.producer.KafkaProducer; +import org.apache.kafka.clients.producer.Producer; import org.apache.kafka.clients.producer.ProducerRecord; +import org.apache.kafka.clients.producer.RecordMetadata; import org.apache.kafka.common.serialization.StringSerializer; import java.util.Properties; +import java.util.concurrent.CompletableFuture; @Slf4j @@ -71,7 +73,20 @@ public class ExampleProducer value // Value ); - producer.send(record, (metadata, e) -> + CompletableFuture completableFuture = CompletableFuture + .supplyAsync(() -> + { + try + { + return producer.send(record).get(); + } + catch (Exception e) + { + throw new RuntimeException(e); + } + }); + + completableFuture.whenComplete((metadata, e) -> { long sendRequestProcessed = System.currentTimeMillis(); if (e == null) -- 2.39.5