1.maven dependency
<!--kafka-->
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
</dependency>
2. Configuration file
spring:
application:
name: Spring-boot-Kafka
kafka:
bootstrap-servers: localhost:9091,localhost:9092,localhost:9093
consumer:
group-id: local-Group
auto-offset-reset: earliest
enable-auto-commit: true
auto-commit-interval: 20000
key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
value-deserializer: org.apache.kafka.common.serialization.StringDeserializer
3. Key categories:
# 服务发送
@Autowired
private KafkaTemplate kafkaTemplate;
@RequestMapping("/send")
public void send(){
String message = "测试kakfa:"+System.currentTimeMillis();
ListenableFuture future = kafkaTemplate.send("test",message);
future.addCallback(o -> log.info("send-消息发送成功:" + message), throwable -> log.error("消息发送失败:" + message));
}
# 服务接收
@Component
public class TestTopicReceiver{
@KafkaListener(topics = "test")
public void testMessage(String content) {
System.out.println("====KafkaReceiver test=====:"+content);
}
}
4. Reference code:
https://github.com/472732787/com-spring-multiple-datasource/tree/master/spring-boot-kafka-send
https://github.com/472732787/com-spring-multiple- datasource / tree / master / spring-boot-kafka-receiver