栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

项目1在线交流平台-5.Kafka构建异步消息系统-3.Spring整合kafka

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

项目1在线交流平台-5.Kafka构建异步消息系统-3.Spring整合kafka

文章目录

功能需求1.导入依赖和配置

1.导入依赖2. 配置Kafka

修改consumer配置文件spring中配置服务连接端口与consumer 3. 访问Kafka进行测试

封装生产者发送消息

`KafkaTemplate``send(topic, data)` 封装消费者消费消息

`@KafkaListener(topics = {"test"})``ConsumerRecord` 测试发送与接收测试结果
参考牛客网高级项目教程

尚硅谷kafka教学笔记

功能需求

使用SpringBoot的java代码操作kafka需要将Spring框架与Kafka整合 1.导入依赖和配置 1.导入依赖

		
			org.springframework.kafka
			spring-kafka
		
2. 配置Kafka 修改consumer配置文件

spring中配置服务连接端口与consumer
#kafka相关配置
spring.kafka.bootstrap-servers=192.168.181.136:9092
#组id
spring.kafka.consumer.group-id=community-consumer-group
#获取offset后是否自动提交
spring.kafka.consumer.enable-auto-commit=true
#自动提交的频率
spring.kafka.consumer.auto-commit-interval=3000
3. 访问Kafka进行测试 封装生产者发送消息 KafkaTemplate

Spring内置的处理kafka的模板引擎 send(topic, data)

向指定的topic主题中发送数据

@Component
class KafkaProducer {

    @Autowired
    private KafkaTemplate kafkaTemplate;

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

}
封装消费者消费消息 @KafkaListener(topics = {"test"})

监听指定的主题消息-可以传多个主题 ConsumerRecord

将监听到的消息封装成ConsumerRecord对象,方便处理本例中将对象的值打印到控制台进行测试

@Component
class kafkaConsumer {
    @KafkaListener(topics = {"test"})
    public void handleMessage(ConsumerRecord record) {
        System.out.println(record.value());
    }
}
测试发送与接收

发送消息是主动立即发送消费者接收消息是被动的,根据线程分配,可能会有点延迟

@RunWith(SpringRunner.class)
@SpringBootTest
@ContextConfiguration(classes = CommunityApplication.class)
public class KafkaTest {

    @Autowired
    private KafkaProducer kafkaProducer;

    @Test
    public void testKafka() {
        kafkaProducer.sendMessage("test", "你好");
        kafkaProducer.sendMessage("test", "在吗");
		// 延迟一段时间,让消费者读取数据
        try {
            Thread.sleep(1000 * 10);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}
测试结果

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/781023.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号