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--vor-branchumbenennung--springframework~2 X-Git-Url: https://juplo.de/gitweb/?a=commitdiff_plain;h=6befa4b2be07941b304548aa1907f4bbd3a8f49f;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 06d5b813..ca5ba678 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); - } - } - } }