From: Kai Moritz Date: Sat, 18 Jan 2025 15:03:36 +0000 (+0100) Subject: TODO X-Git-Tag: spring/supersimple-producer--2025-01-signal~2 X-Git-Url: https://juplo.de/gitweb/?a=commitdiff_plain;h=0b2ac4a80f256b0f67e0b7115cfb7117984f594b;p=demos%2Fkafka%2Ftraining TODO --- diff --git a/src/main/java/de/juplo/kafka/ExampleProducer.java b/src/main/java/de/juplo/kafka/ExampleProducer.java index 300d11ea..db0b99eb 100644 --- a/src/main/java/de/juplo/kafka/ExampleProducer.java +++ b/src/main/java/de/juplo/kafka/ExampleProducer.java @@ -6,22 +6,29 @@ import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.context.event.ApplicationReadyEvent; +import org.springframework.context.event.EventListener; import org.springframework.kafka.core.KafkaTemplate; import org.springframework.kafka.support.SendResult; +import org.springframework.scheduling.annotation.Async; +import org.springframework.scheduling.annotation.EnableAsync; import java.util.concurrent.CompletableFuture; @Slf4j +@EnableAsync // tag::supersimple[] @SpringBootApplication -public class ExampleProducer implements ApplicationRunner +public class ExampleProducer { @Autowired KafkaTemplate kafkaTemplate; - @Override - public void run(ApplicationArguments args) + // end::supersimple[] + @Async + // tag::supersimple[] + public void run() { for (int i = 0; true; i++) { @@ -48,7 +55,14 @@ public class ExampleProducer implements ApplicationRunner // tag::supersimple[] } } + // end::supersimple[] + @EventListener(ApplicationReadyEvent.class) + public void onApplicationReady() { + this.run(); + } + + // tag::supersimple[] public static void main(String[] args) { SpringApplication.run(ExampleProducer.class, args);