Springboot中集成Kafka

在Springboot项目中集成Kafka,并实现消息的发送和接收

kafka单实例环境搭建(windows)

  • 下载最新的kafka:https://mirrors.shu.edu.cn/apache/kafka/2.1.1/kafka_2.12-2.1.1.tgz
  • 下载完后解压
  • 启动kafka自带的zookeeper(或者使用已经搭建好的zookeeper环境,在config/server.properties中修改):
bin\windows\zookeeper-server-start.bat  config\zookeeper.properties
  • 启动kafka:
bin\windows\kafka-server-start.bat config/server.properties

在项目中集成kafka

pom.xml中引入kafka依赖:

    	
			org.springframework.kafka
			spring-kafka
    	

在application.properties文件中配置kafka服务器地址、端口等信息:

spring.kafka.bootstrap-servers=localhost:9092
spring.kafka.consumer.group-id=myGroup #仅消息消费者需要配置此属性

发送mq消息到demo_queue队列:

kafka允许程序运行时动态创建消息队列,因此我们不必提前在kafka中创建需要使用的消息队列.

@Service
public class ClientService {
	
	@Autowired
	KafkaTemplate kafkaTemplate;
	
	public String sendAMessage() {
		//kafka
		kafkaTemplate.send("demo_queue", "a message");
		return "success";
	}
	
}

接收mq消息:

@Service
@Slf4j
public class ServiceAService {
	
	@KafkaListener(topics = "demo_queue")
	public void processMessage(String content) {
		log.debug("收到了一个消息:{}",content);
	}
	
}

完。

你可能感兴趣的:(springboot)