码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • SpringBoot SpringBoot 开发实用篇 5 整合第三方技术 5.28 SpringBoot 整合 Kafka


    SpringBoot

    【黑马程序员SpringBoot2全套视频教程,springboot零基础到项目实战(spring boot2完整版)】

    SpringBoot 开发实用篇

    文章目录

        • SpringBoot
        • SpringBoot 开发实用篇
        • 5 整合第三方技术
          • 5.28 SpringBoot 整合 Kafka
            • 5.28.1 整合 Kafka
            • 5.28.2 小结
            • 5.28.3 总结
            • 5.28.4 大总结

    5 整合第三方技术

    5.28 SpringBoot 整合 Kafka
    5.28.1 整合 Kafka

    之前我们已经完成了Kafka 的安装与测试

    在这里插入图片描述

    没啥问题,接下来就是使用SpringBoot 去整合了

    【导入坐标】

    <dependency>
        <groupId>org.springframework.kafkagroupId>
        <artifactId>spring-kafkaartifactId>
    dependency>
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    OK, 记得刷一下

    【配置】

    kafka:
      bootstrap-servers: localhost:9092
    
    • 1
    • 2

    spring 的下一级

    在这里插入图片描述

    OK

    整合

    先把之前的bean 都注掉

    在这里插入图片描述

    基于kafka 的实现类

    package com.dingjiaxiong.service.impl.kafka;
    
    import com.dingjiaxiong.service.MessageService;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.kafka.core.KafkaTemplate;
    import org.springframework.stereotype.Service;
    
    /**
     * ClassName: MessageServiceKafkaImpl
     * date: 2022/10/23 18:54
     *
     * @author DingJiaxiong
     */
    
    @Service
    public class MessageServiceKafkaImpl implements MessageService {
    
        @Autowired
        private KafkaTemplate<String, String> kafkaTemplate;
    
        @Override
        public void sendMessage(String id) {
            System.out.println("待发送短信的订单已纳入处理队列(kafka),id " + id);
            kafkaTemplate.send("dingjiaxiong",id);
        }
    
        @Override
        public String doMessage() {
            return null;
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31

    现在就可以完成消息的发送了

    直接启动服务器看看

    在这里插入图片描述

    使用postman 发送消息

    在这里插入图片描述

    可以看到,消息已经进去了,而且控制台输出了不少信息

    看看我们之前开启的消费者客户端

    在这里插入图片描述

    没错,已经消费了,现在就相当于是我通过编程的形式模拟了一个发送消息的客户端

    在这里插入图片描述

    现在做一个listener ,来消费消息

    package com.dingjiaxiong.service.impl.kafka.listener;
    
    import org.apache.kafka.clients.consumer.ConsumerRecord;
    import org.springframework.kafka.annotation.KafkaListener;
    import org.springframework.stereotype.Component;
    
    /**
     * ClassName: MessageListener
     * date: 2022/10/23 19:02
     *
     * @author DingJiaxiong
     */
    
    @Component
    public class MessageListener {
    
        @KafkaListener(topics = "dingjiaxiong")
        public void onMessage(ConsumerRecord<String, String> record) {
            System.out.println("已完成短信发送业务(kafka),id:" + record.value());
        }
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    还要加个组id 的配置,不然启动会报错

    kafka:
      bootstrap-servers: localhost:9092
      consumer:
        group-id: order
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    OK,直接重启服务器测试

    在这里插入图片描述

    没毛病,自动消费了

    在这里插入图片描述

    cmd 客户端也监听到了

    【大致整合就是这样了】

    回顾一下

    • 导入SpringBoot整合Kafka坐标

    在这里插入图片描述

    • 配置Kafka (采用默认配置)

    在这里插入图片描述

    • 生产消息

    在这里插入图片描述

    • 使用消息监听器对消息队列监听

    在这里插入图片描述

    5.28.2 小结
    1. SpringBoot整合Kafka
    5.28.3 总结
    1. 消息
    2. ActiveMQ
    3. RabbitMQ
    4. RocketMQ
    5. Kafka

    【以上就是SpringBoot 整合各种消息中间件的全部内容了,当然只是皮毛,还需要加深学习】

    5.28.4 大总结
    1. 缓存
    2. 任务
    3. 邮件
    4. 消息

    【我们一定能够成为我们想要成为的人!!】

  • 相关阅读:
    Facebook广告账户被封的可能原因及应如何避免?
    镜像神经元现象是什么,镜像神经元的作用
    SDUT 2022 Autumn Team Contest 7th
    链表单向链表跳跃链表
    【Unity3D】基于粒子系统实现烟花特效
    【Flink实战】Flink对接Kafka Connetor使用docker部署kafka
    K8S集群etcd 某个节点数据不一致如何修复 —— 筑梦之路
    复杂数据统计与R语言程序设计实验二
    西部数码云快照立大功-助力众多用户解决勒索病毒危机!
    springMVC01,【第一个springMVC例子(注解版):HelloWorld】
  • 原文地址:https://blog.csdn.net/weixin_44226181/article/details/128011056
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号