From: Kai Moritz Date: Sun, 15 Mar 2026 15:55:13 +0000 (+0100) Subject: Die begrenzte Queue mit Blocking wird nicht mehr benötigt X-Git-Tag: grundlagen/simple-producer--completablefuture--2026-03-22--22-01~2 X-Git-Url: https://juplo.de/gitweb/?a=commitdiff_plain;h=9e21e3d2ee3d7ae1459b7249bdb408c4f3228994;p=demos%2Fkafka%2Ftraining Die begrenzte Queue mit Blocking wird nicht mehr benötigt --- diff --git a/src/main/java/de/juplo/kafka/ExampleProducer.java b/src/main/java/de/juplo/kafka/ExampleProducer.java index b4dfebb9..24add8f8 100644 --- a/src/main/java/de/juplo/kafka/ExampleProducer.java +++ b/src/main/java/de/juplo/kafka/ExampleProducer.java @@ -20,14 +20,7 @@ public class ExampleProducer private final String topic; private final Producer producer; - private final ExecutorService executor = new ThreadPoolExecutor( - 1, - 1, - 60L, - TimeUnit.MILLISECONDS, - new ArrayBlockingQueue<>(MAX_PENDING_MESSAGES), - new BlockingRejectedExecutionHandler() - ); + private final ExecutorService executor = Executors.newSingleThreadExecutor(); private final Semaphore semaphore = new Semaphore(MAX_PENDING_MESSAGES); private volatile boolean running = true; private volatile boolean done = false; @@ -189,22 +182,4 @@ public class ExampleProducer instance.run(); } - - - static class BlockingRejectedExecutionHandler implements RejectedExecutionHandler - { - - @Override - public void rejectedExecution(Runnable runnable, ThreadPoolExecutor executor) - { - try - { - executor.getQueue().put(runnable); // blockiert bis Platz frei ist - } - catch (InterruptedException e) { - Thread.currentThread().interrupt(); - throw new RejectedExecutionException(e); - } - } - } }