TODO
authorKai Moritz <kai@juplo.de>
Sat, 18 Jan 2025 15:03:36 +0000 (16:03 +0100)
committerKai Moritz <kai@juplo.de>
Tue, 21 Jan 2025 20:25:05 +0000 (21:25 +0100)
src/main/java/de/juplo/kafka/ExampleProducer.java

index 300d11e..db0b99e 100644 (file)
@@ -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<String, String> 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);