Spring Boot Integration Kafka
Overview
In this tutorial,I'll show how to use spring kafka to send message
Maven Dependencies
we should confirm have spring kafka
xml
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- Spring Kafka Starter -->
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
</dependency>
</dependencies>
config in application.yml
yml
server:
port: 8081
spring:
kafka:
bootstrap-servers: 10.32.1.200:9092
producer:
key-serializer: org.apache.kafka.common.serialization.StringSerializer
value-serializer: org.apache.kafka.common.serialization.StringSerializer
consumer:
key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
value-deserializer: org.apache.kafka.common.serialization.StringDeserializer
Produce Message code
I'll use controller to send message to kafka
java
@RestController
@RequestMapping("kafka")
public class KafkaTestController {
private final KafkaTemplate kafkaTemplate;
public KafkaTestController(KafkaTemplate kafkaTemplate) {
this.kafkaTemplate = kafkaTemplate;
}
@GetMapping("send")
public void send() {
kafkaTemplate.send("test","test product");
return;
}
}
Consumer Message Listener
java
@Component
@Slf4j
public class KafkaListenerService {
@KafkaListener(topics = {"test"},groupId = "test-consumer",concurrency = "2")
public void consumer(String message) {
log.info("listener kafka message {}",message);
}
}
we can see the log from dashboard
text
2024-07-04 18:25:58.722 INFO 30116 --- [ntainer#0-1-C-1] prg.example.config.KafkaListenerService : listener kafka message test product
Conclusion
In this article. we went through the basic of Spring Kafka.