Springboot2 物联网服务对接 MQTT 协议问题归纳
接触一个新的知识点首先遇到困难就是各种名词,不熟悉,不理解,让人头大。当我遇到 MQTT 协议,第一冒出来的问题是 RabbitMQ 与这个 MQTT 有什么关系?原项目中使用了 RabbitMQ 来处理消息,而物联网服务根本也是处理各种消息。尤其是当我百度这两者之间的关系时,更矛盾了。甚至有文章提供 rabbitmq 使用 mqtt 协议 的教程。网上摘取一些区别解释:MQTT 是一个非常简洁的
接触一个新的知识点首先遇到困难就是各种名词,不熟悉,不理解,让人头大。当我遇到 MQTT 协议,第一冒出来的问题是 RabbitMQ 与这个 MQTT 有什么关系?原项目中使用了 RabbitMQ 来处理消息,而物联网服务根本也是处理各种消息。尤其是当我百度这两者之间的关系时,更矛盾了。甚至有文章提供 rabbitmq 使用 mqtt 协议 的教程。网上摘取一些区别解释:MQTT 是一个非常简洁的
首先注入 mapper 服务实现类,看到原来的写法:QueryWrapper queryWrapper = new QueryWrapper(); queryWrapper.eq("aaa", "bbb"); routeService.list(queryWrapper).get(0)然后莫名觉得为什么不直接使用 getOne() 呢,这样不是更明了吗?在没
给一位儿时伙伴朋友圈点赞,不知为何发送了一个拍了对方一下的互动。想着对方晒的全家福不禁恭喜了几句,并表示羡慕。然后就聊了起来,聊到自己的境况,好哥们提议给我介绍对象。本就被相亲摁在地上已经服软的我同意了。好哥们确实挺热心的,小时候玩的非常好。当时在大人眼里不太看好的婚姻,到如今儿子都大了。之前也曾帮我介绍过一位在魔都打拼的同乡姑娘,非常孝顺,也很热情体贴,聊得也非常好。但因为我个人心理问题,加上一
一开始使用的是 HashMap 参考原来写的添加参数:Map<String, Object> paramMap = new HashMap<>(); paramMap.put(key, value);后来发现请求的另一个服务通过 @RequestParam 并不能获取到参数,还会报错。添加 @RequestParam(required = false) 是可以不报错,但参数
按照接口要求创建了返回类,然后通过 @RestController 直接输出 JSON 格式数据。要求返回类中每一个属性都要按照对方文档里指定的顺序返回,在类中调整了各个属性顺序,返回顺序一致了。之后要从另外一个服务中拿数据再返回:ResponseEntity<String> responseEntity = restTemplate.exchange(url, httpMethod,
第一种最直接,再 yml 或 properties 配置文件中定义,然后通过 @Value 注入到需要使用的 @Component。 @Value("#{${mqtt.upgrade}}") private Map<String, String> mqttUpgrade;上面的例子是在正常获取配置值 ${} 外面增加了 #{},表示可执行的语句,可以将
分别检查数据库、表和字段的字符集编码及排序规则:前两者都为 utf8 或 utf8mb4(支持二进制存储,表情包存储)数据库字符集使用 utf8mb4表字符集使用 utf8mb4最后一个字段的字符集为 latin 之类的,但观察了以下,发现所有表的字段字符集都是这个,这意味着如果要让之后不再报这个错误,需要修改所有的字段的字符集。网上找了一个 修改所有字段字符集 sql :-- 查看某个数据库的表
意思是 mysql:mysql-connector-java:jar 存在多个版本。查看 pom.xml 文件,发现确实引入了两个,其中一个标注为 runtime。注释或删除一条,重新打包,ok 了。
遇到的场景:netty 中初始化 mqtt 服务,添加处理器时,默认使用的是 new MstMqttSocketHandler() 返回处理器。if (isMqttRequest(msgBody)) { pipeline.addLast("mqttDecoder", new MqttDecoder()) .addLast(MqttEncoder.
因为是 windows 开发环境,安装了 Docker Desktop 来管理镜像和容器。但有些服务是不能简单安装启动的,需要增加配置参数和映射端口。此时反倒是使用命令行安装更加简单。docker pull rabbitmq 默认安装最新版本,一开始通过 Docker Desktop 去运行,也没有找相关的参数设置文档,导致只增加了 5672 端口映射,然后怎么都连接不上。一开始使用的是 MQTT