springboot整合kafka订阅发布
时间: 2023-10-23 17:10:42 浏览: 48
Spring Boot提供了对Kafka的自动配置,使得整合Kafka变得非常简单。下面是基于Kafka的发布订阅消息队列模式的消息发布与消费测试的步骤:
1.在pom.xml文件中添加Kafka依赖:
```
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
</dependency>
```
2.在application.properties文件中配置Kafka:
```
spring.kafka.bootstrap-servers=localhost:9092
spring.kafka.consumer.group-id=my-group
spring.kafka.consumer.auto-offset-reset=earliest
```
3.创建一个生产者类,用于发送消息:
```
@Service
public class KafkaProducer {
@Autowired
private KafkaTemplate<String, String> kafkaTemplate;
public void sendMessage(String topic, String message) {
kafkaTemplate.send(topic, message);
}
}
```
4.创建一个消费者类,用于接收消息:
```
@Service
public class KafkaConsumer {
@KafkaListener(topics = "my-topic", groupId = "my-group")
public void receiveMessage(String message) {
System.out.println("Received message: " + message);
}
}
```
5.在控制器中使用生产者类发送消息:
```
@RestController
public class MyController {
@Autowired
private KafkaProducer kafkaProducer;
@PostMapping("/send")
public void sendMessage(@RequestParam String message) {
kafkaProducer.sendMessage("my-topic", message);
}
}
```
6.启动应用程序并测试消息发布和消费。