1 package de.juplo.kafka;
3 import lombok.extern.slf4j.Slf4j;
4 import org.springframework.beans.factory.annotation.Autowired;
5 import org.springframework.boot.ApplicationArguments;
6 import org.springframework.boot.ApplicationRunner;
7 import org.springframework.boot.SpringApplication;
8 import org.springframework.boot.autoconfigure.SpringBootApplication;
9 import org.springframework.kafka.core.KafkaTemplate;
10 import org.springframework.kafka.support.SendResult;
11 import org.springframework.util.concurrent.ListenableFuture;
15 @SpringBootApplication
16 public class Application implements ApplicationRunner
19 KafkaTemplate<String, String> kafkaTemplate;
22 public void run(ApplicationArguments args)
24 for (int i = 0; i < 100; i++)
27 ListenableFuture<SendResult<String, String>> listenableFuture =
28 kafkaTemplate.send("test", Long.toString(i%10), Long.toString(i));
30 listenableFuture.addCallback(
32 "Sent {}={} to partition={}, offset={}",
33 result.getProducerRecord().key(),
34 result.getProducerRecord().value(),
35 result.getRecordMetadata().partition(),
36 result.getRecordMetadata().offset()),
37 e -> log.error("ERROR sendig message", e));
42 public static void main(String[] args)
44 SpringApplication.run(Application.class, args);