今天学习了springboot整合Kafka。
首先开启Kafka服务并导入相关坐标:
<dependency> <groupId>org.springframework.kafka</groupId> <artifactId>spring-kafka</artifactId> </dependency>
接下来做相关配置:
spring:
kafka: bootstrap-servers: localhost:9092 # 启动zookeeper默认端口:2181 启动kafka默认端口:9092 consumer: group-id: order # 配置给consumer,即监听中的ConsumerRecord,不配报错
接下来就是实现了:
@Service public class MessageSeriverKafkaImpl implements MessageService { @Autowired //kafka注入 private KafkaTemplate<String,String> kafkaTemplate; @Override public void sendMessage(String id) { System.out.println("待发送短信的订单已纳入处理队列(kafka),id: " + id); kafkaTemplate.send("order",id); //第一个参数,将数据发送到指定位置 } @Override public String doMessage() { return null; } }
//接下来是监听:
@Component public class MessageListener { @KafkaListener(topics = "order") public void onMessage(ConsumerRecord<String,String> record){ System.out.println("已完成短信发送业务(kafka),record: " + record.value()); } }h欢迎大家一起学习,有不足的地方还请指出。