创建工程
编写生产者代码
package com.example.springbootkafka.controller;
import org.springframework.kafka.core.KafkaTemplate;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/**
* @author guochao
* @version 1.0
* @date 2023/3/20 17:20
*/
@RestController
public class ProducerController {
@Resource
private KafkaTemplate<String,String> kafkaTemplate;
@RequestMapping("/sendmsg")
public String data(String msg){
kafkaTemplate.send("first",msg);
// 通过kafka发送出去
return "ok";
}
}
编写生产者kafka配置
# 链接kafka集群
spring.kafka.bootstrap-servers=192.168.1.8:9092,192.168.1.8:9092
# key value的序列化
spring.kafka.producer.key-serializer=org.apache.kafka.common.serialization.StringSerializer
spring.kafka.producer.value-serializer=org.apache.kafka.common.serialization.StringSerializer
编写消费者代码
package com.example.springbootkafka.controller;
import org.springframework.context.annotation.Configuration;
import org.springframework.kafka.annotation.KafkaListener;
/**
* @author guochao
* @version 1.0
* @date 2023/3/20 17:33
*/
@Configuration
public class KafkaConsumer {
@KafkaListener(topics = "first")
public void consumerToTopic(String msg){
System.out.println("收到消息:"+msg);
}
}
编写消费者kafka配置
# 链接kafka集群
spring.kafka.bootstrap-servers=192.168.1.8:9092,192.168.1.8:9092
# key value的反序列化
spring.kafka.consumer.key-deserializer=org.apache.kafka.common.serialization.StringDeserializer
spring.kafka.consumer.value-deserializer=org.apache.kafka.common.serialization.StringDeserializer
# 消费者组id
spring.kafka.consumer.group-id=msg
完整的kafaka配置
# 链接kafka集群
spring.kafka.bootstrap-servers=192.168.1.8:9092,192.168.1.8:9092
# key value的序列化
spring.kafka.producer.key-serializer=org.apache.kafka.common.serialization.StringSerializer
spring.kafka.producer.value-serializer=org.apache.kafka.common.serialization.StringSerializer
# key value的反序列化
spring.kafka.consumer.key-deserializer=org.apache.kafka.common.serialization.StringDeserializer
spring.kafka.consumer.value-deserializer=org.apache.kafka.common.serialization.StringDeserializer
# 消费者组id
spring.kafka.consumer.group-id=msg