X-Git-Url: http://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Fkafka%2FEndlessConsumer.java;h=5e768651daccdef99f175b2aa7ef829f901c6285;hb=85929b7925a1afcddf6fd8b6e650ba4057be3e4d;hp=ea899cc41fec5afbe2f053b350d873044e0d9c49;hpb=e446dd0b69167688f77bcc2a51fa551ab61916dc;p=demos%2Fkafka%2Ftraining diff --git a/src/main/java/de/juplo/kafka/EndlessConsumer.java b/src/main/java/de/juplo/kafka/EndlessConsumer.java index ea899cc..5e76865 100644 --- a/src/main/java/de/juplo/kafka/EndlessConsumer.java +++ b/src/main/java/de/juplo/kafka/EndlessConsumer.java @@ -9,7 +9,6 @@ import org.springframework.kafka.annotation.KafkaListener; import org.springframework.kafka.config.KafkaListenerEndpointRegistry; import org.springframework.stereotype.Component; -import javax.annotation.PreDestroy; import java.util.List; import java.util.function.Consumer; @@ -59,21 +58,20 @@ public class EndlessConsumer public synchronized void start() { + if (registry.getListenerContainer(id).isChildRunning()) + throw new IllegalStateException("Consumer instance " + id + " is already running!"); + log.info("{} - Starting - consumed {} messages before", id, consumed); registry.getListenerContainer(id).start(); } public synchronized void stop() { + if (!registry.getListenerContainer(id).isChildRunning()) + throw new IllegalStateException("Consumer instance " + id + " is not running!"); + log.info("{} - Stopping", id); registry.getListenerContainer(id).stop(); log.info("{} - Stopped - consumed {} messages so far", id, consumed); } - - @PreDestroy - public void destroy() - { - log.info("{} - Destroy!", id); - stop(); - } }