private final String topic;
private final Consumer<String, String> consumer;
- private volatile boolean running = false;
+ private volatile boolean stopped = false;
+
private long consumed = 0;
public ExampleConsumer(
{
log.info("{} - Subscribing to topic {}", id, topic);
consumer.subscribe(Arrays.asList(topic), this);
- running = true;
while (true)
{
log.info("{} - Closing the KafkaConsumer", id);
consumer.close();
log.info("{} - Consumed {} messages in total, exiting!", id, consumed);
- running = false;
+ stopped = true;
}
}
Runtime.getRuntime().addShutdownHook(new Thread(() ->
{
+ log.info("{} - Stopping the poll-loop...", instance.id);
instance.consumer.wakeup();
- while (instance.running)
+ while (!instance.stopped)
{
log.info("{} - Waiting for main-thread...", instance.id);
try