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

Spring整合Kafka

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

Spring整合Kafka

文章目录
  • Spring整合Kafka
    • 一、引入依赖
    • 二、配置kafka
    • 三、测试代码--如何用kafka
      • 3.1 KafkaTests
      • 3.2 测试结果

Spring整合Kafka

一、引入依赖

	org.springframework.kafka
	spring-kafka

二、配置kafka
#KafkaProperties
##配端口号
spring.kafka.bootstrap-servers=localhost:9092
##配消费者的组id
spring.kafka.consumer.group-id=community-consumer-group
##是否自动提交 消费者的偏移量
spring.kafka.consumer.enable-auto-commit=true
##自动提交的频率,也就是多久提交一次——3000ms-3s  
spring.kafka.consumer.auto-commit-interval=3000

其中:
需进行改动(改不改无所谓)



三、测试代码–如何用kafka

先启动zookeeper和kafka

重点:生产者发消息,使我们主动去调的;消费者接收消息,是自动的,只需要在方法上加一个@KafkaListener(topics = {“xxxx”}),就能监听xxxx主体的生产者发来的消息,并且接收到!

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

    @Autowired
    private kafkaProducer kafkaProducer;

    @Test
    public void testKafka(){
        kafkaProducer.sendMessage("test","你好!");
        kafkaProducer.sendMessage("test","你收到信息了吗?");

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

//为了方便,直接在这写两个类,而不去去外面重新新建
@Component
class kafkaProducer{//生产者

    @Autowired
    private KafkaTemplate kafkaTemplate;

    public void sendMessage(String topic,String context){
        kafkaTemplate.send(topic,context);
    }
}@Component
class kafkaConsumer{//消费者

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

}
3.2 测试结果

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

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

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