spring整合kafka

本文档详细介绍了如何安装配置Apache Kafka,并在Spring环境中进行整合。首先,从Apache官网下载Kafka并配置log路径,然后分别启动Zookeeper和Kafka服务。接着,通过引入Spring Kafka依赖,在Spring Boot应用中配置Kafka连接信息,创建生产者和消费者组件。测试结果显示,消息能够成功发送和接收。
摘要由CSDN通过智能技术生成


前言

kafka是一个分布式的基于发布订阅模式的消息队列。


一、安装配置kafka

1.下载

官网:https://kafka.apache.org/downloads下载截图
选择Binary downloads 下载,该下载的只需解压就可以用,Source download需要安装后使用。

2.配置log路径

在安装好的kafka文件里打开config里面的server,properties
在这里插入图片描述
手动创建一个log目录并把路径写进去。

3.启动

在kafka目录下运行cmd并输入如下命令启动zookeeper(后面的config\zookeeper.properties作用是以这个配置文件运行,不然就用默认的配置运行)

bin\windows\zookeeper-server-start.bat config\zookeeper.properties

在这里插入图片描述
再打开一个cmd窗口输入命令启动kafka

bin\windows\kafka-server-start.bat config\server.properties
在这里插入图片描述

二、spring整合

1.导入依赖

<dependency>
	<groupId>org.springframework.kafka</groupId>
	<artifactId>spring-kafka</artifactId>
	<version>2.5.10.RELEASE</version>
</dependency>

2.yml配置

spring: 
	kafka:
    	bootstrap-servers: localhost:9092	# kafka连接接地址
    	consumer:
      		group-id: test-consumer-group	# 消费者所属消息组
      		enable-auto-commit: true	#设置自动提交
      		auto-commit-interval: 3000	#自动提交的间隔时间

group-id 在consumer.properties里面

3.测试

基于Spring Boot 的测试类里面测试。

生产者

@Component
class KafkaProduce{
    @Autowired
    private KafkaTemplate kafkaTemplate;

    public void sendMessage(String topic, String content){
        kafkaTemplate.send(topic, content);
    }
}

消费者

@Component
class kafkaConsumer{
    @KafkaListener(topics = {"test"})
    public void handleMessage(ConsumerRecord record){
        System.out.println(record.value());
    }
}

测试方法

	@Autowired
    private KafkaProduce kafkaProduce;
	@Test
    void TestKafka(){
        kafkaProduce.sendMessage("test", "nihao");
        kafkaProduce.sendMessage("test", "nihaoma");

        try {
            sleep(1000 * 20);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }

结果

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值