SpringBoot 使用 EMQX

这篇具有很好参考价值的文章主要介绍了SpringBoot 使用 EMQX。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、SpringBoot服务器端

1. 在centos搭建 EMQX服务

SpringBoot 使用 EMQX,springboot,spring boot

2. 创建API密码
SpringBoot 使用 EMQX,springboot,spring boot

3. 在SpringBoot 的yml中添加mqqt的配置

#配置
emqx:
  ip: 47.109.49.176
  port: 18083
  api: xxxxxxxx      (自己的api)
  secret: xxxxxxxxx  (自己的secret)

4. 因为服务端在推送消息给 EMQX时,需要对应的api标识和secret权限, 就先定义一个类,通过ConfigurationProperties注解获取配置文件中的属性

@Data
@Component
@ConfigurationProperties("emqx")
public class EmqConfig {
    private String ip;
    private int port;
    private String api;
    private String secret;
}

5. EMQX工具类文章来源地址https://www.toymoban.com/news/detail-685605.html


@Component
public class EmqApi {
    @Autowired
    private EmqConfig emqConfig;             //EMOX的实体类,可以直接获取配置文件的属性值
    private final String apiVer = "/api/v5"; //使用http实现推送api的版本


    //基础请求地址 http://172.0.0.1:8080/api/v5
    private String getBaeUrl() {
        return "http://" + emqConfig.getIp() + ":" + emqConfig.getPort() + apiVer;
    }


    /*服务端发起请求:
    (1)拼接完成的路径: http://172.0.0.1:8080/api/v5/public (public表示推送一条消息)
    (2)设置请求方式:get、post、delete、put
    (3)设置权限:用户名、密码
    * */
    private HttpRequest getRequest(String url) {
        HttpRequest request = HttpRequest.of(getBaeUrl() + url);
        request.setMethod(Method.POST);
        request.basicAuth(emqConfig.getApi(), emqConfig.getSecret());
        return request;
    }


    /*
    将请求和封装放在一起(已经重载,可以传字符串,也可以传对象)
    * */
    private HttpResponse getResponse(String url, String body) {
        return getRequest(url).body(body).execute();
    }
    private HttpResponse getResponse(String url, Dict dict) {
        return getResponse(url, JSONUtil.toJsonStr(dict));
    }


    /*发送消息的方法 */
    public String publish(String topic, String payload) {
        Dict dict = Dict.create();
        dict.set("topic", topic);     //订阅频道标识
        dict.set("payload", payload); //消息内容
        dict.set("qos", 2);           //消息仅传送一次。不会重复、不会丢失
        HttpResponse response = getResponse("/publish", dict);
        return response.body();
    }
    /*发送消息的方法 */
    public String publish(String topic, Map map) {
        return publish(topic, JSONUtil.toJsonStr(map));
    }
}

 二、前端uniapp 后面补

到了这里,关于SpringBoot 使用 EMQX的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Spring Boot进阶(48):SpringBoot之集成WebSocket及使用说明 | 超级详细,建议收藏

            WebSocket是一种新型的通信协议,它可以在客户端与服务器端之间实现双向通信,具有低延迟、高效性等特点,适用于实时通信场景。在SpringBoot应用中,集成WebSocket可以方便地实现实时通信功能,如即时聊天、实时数据传输等。         本文将介绍如何在Sprin

    2024年02月16日
    浏览(54)
  • Spring Boot Testing: 使用springboot-test提供的测试框架来实现自动化测试

    作者:禅与计算机程序设计艺术 软件测试是在开发过程中不可缺少的一环。单元测试、集成测试、功能测试等都是为了保证系统的质量而进行的测试活动。单元测试主要验证各个模块(类、方法)在各种情况下是否正常工作;集成测试则是将不同模块组合起来看是否可以正常

    2024年02月07日
    浏览(44)
  • SpringBoot整理-Spring Boot配置

    Spring Boot 的配置系统是其核心功能之一,旨在简化 Spring 应用的配置过程。Spring Boot 提供了一种灵活的方式来配置你的应用,无论是通过外部配置文件,环境变量,命令行参数还是在代码中直接配置。以下是关于 Spring Boot 配置的几个重要方面: 配置文件 application.prop

    2024年01月25日
    浏览(55)
  • 【Spring Boot】SpringBoot 单元测试

    单元测试(unit testing),是指对软件中的最⼩可测试单元进⾏检查和验证的过程就叫单元测试。 1、可以⾮常简单、直观、快速的测试某⼀个功能是否正确。 2、使⽤单元测试可以帮我们在打包的时候,发现⼀些问题,因为在打包之前,所以的单元测试必须通过,否则不能打包

    2024年02月07日
    浏览(57)
  • SpringBoot教程(一)|认识Spring Boot

    安得广厦千万间,大庇天下寒士俱欢颜,风雨不动安如山,呜呼,何时眼前突兀见此屋,吾庐独破受冻死亦足! Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需

    2024年01月16日
    浏览(51)
  • 【Spring Boot】Spring Boot项目中如何查看springBoot版本和Spring的版本

    在项目中查看默认版本有两种方式如下 Spring Boot 的最新版本支持情况: 版本 发布时间 停止维护时间 停止商业支持 3.0.x 2022-11-24 2023-11-24 2025-02-24 2.7.x 2022-05-19 2023-11-18 2025-02-18 2.6.x 2021-12-17 2022-11-24 2024-02-24 2.5.x 2021-05-20 已停止 2023-08-24 2.4.x 2020-11-12 已停止 2023-02-23 2.3.x 2020-05-

    2024年02月11日
    浏览(99)
  • SpringBoot教程(三) | Spring Boot初体验

    上篇文章我们创建了SpringBoot 项目,并且进行了简单的启动。整个项目了里其实我们就动了两个文件,一个是pom.xml负责管理springboot的相关依赖,一个是springBoot的启动类。 pom文件中通过starter的形式大大简化了配置,不像以前一样需要引入大量的依赖配置,搞不好还得解决冲突

    2024年01月16日
    浏览(49)
  • SpringBoot整理-Spring Boot与Spring MVC的区别

    Spring Boot 和 Spring MVC 是 Spring 框架的两个不同部分,它们在 Java Web 开发中扮演着各自独特的角色。理解它们之间的区别有助于更好地利用 Spring 生态系统进行有效的应用开发。 Spring MVC 定义:  Spring MVC 是基于 Model-View-Controller(模型-视图-控制器)设计模式的一个 

    2024年01月22日
    浏览(45)
  • 【Spring Boot】SpringBoot参数验证以及实现原理

    参数验证很重要,是平时开发环节中不可少的一部分,但是我想很多后端同事会偷懒,干脆不做,这样很可能给系统的稳定性和安全性带来严重的危害。 那么在Spring Boot应用中如何做好参数校验工作呢,本文提供了小技巧以及验证实现原理,你知道几个呢? Spring Boot 提供了内

    2023年04月16日
    浏览(53)
  • Springboot 实践(13)spring boot 整合RabbitMq

    前文讲解了RabbitMQ的下载和安装,此文讲解springboot整合RabbitMq实现消息的发送和消费。 1、创建web project项目,名称为“SpringbootAction-RabbitMQ” 2、修改pom.xml文件,添加amqp使用jar包    !--  RabbitMQ --         dependency             groupIdorg.springframework.boot/groupId         

    2024年02月09日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包