rabbitmq_web_mqtt
Applying plugin configuration to rabbit@mq…
The following plugins have been enabled:
rabbitmq_web_mqtt

started 1 plugins.
root@mq:/#


2)RabbitMQ管理控制台查看  
 如果插件启动成功,rabbitmq会打开1883和15675端口:  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/fee212f5e42145539550def1a5074f50.png)


3)用MQTTX工具测试  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/af2c2dfd4f494ea38839fa20eed8dd96.png)  
 4)用eclipse paho客户端测试  
 添加依赖



org.eclipse.paho org.eclipse.paho.client.mqttv3 1.2.5

收发消息测试



@RestController
public class DemoController {

@GetMapping("/publish")
public String publish() throws MqttException {

    MqttClientPersistence persistence = new MemoryPersistence();;//内存持久化
    MqttClient client = new MqttClient("tcp://192.168.137.138:1883", "abc", persistence);

    //连接选项中定义用户名密码和其它配置
    MqttConnectOptions options = new MqttConnectOptions();
    options.setCleanSession(true);//参数为true表示清除缓存,也就是非持久化订阅者,这个时候只要参数设为true,一定是非持久化订阅者。而参数设为false时,表示服务器保留客户端的连接记录
    options.setAutomaticReconnect(true);//是否自动重连
    options.setConnectionTimeout(30);//连接超时时间 秒
    options.setKeepAliveInterval(10);//连接保持检查周期 秒
    options.setMqttVersion(MqttConnectOptions.MQTT\_VERSION\_3\_1\_1); //版本
    options.setUserName("xjs1919");
    options.setPassword("123321".toCharArray());
    // client.setManualAcks(true);
    client.connect(options);//连接
    //订阅topic
    client.subscribe("demoTopic", 2);
    // 设置回调,将来收到消息的时候会被回调
    client.setCallback(new MqttCallbackExtended() {
        @Override
        public void connectComplete(boolean reconnect, String serverURI) {
            System.out.println("连接完成");
        }

        @Override
        public void connectionLost(Throwable cause) {
            System.out.println("连接丢失");
        }

        @Override
        public void messageArrived(String topic, MqttMessage message) throws Exception {
            System.out.println("收到消息,topic:"+topic + ", msg:" + new String(message.getPayload()));
            //client.messageArrivedComplete(message.getId(),message.getQos());
        }

        @Override
        public void deliveryComplete(IMqttDeliveryToken token) {
            // Qos0: 当消息发送出去就回调
            // Qos1: 当发送者收到了puback的时候的回调
            // Qos2: 当发送者收到了pubcomp的时候的回调
            System.out.println("消息发送完成");
        }
    });

    client.publish("demoTopic", "hello,这是一个测试消息!".getBytes(), 2, false);

    return "ok";
}

}




**自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**

**深知大多数大数据工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**

**因此收集整理了一份《2024年大数据全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。**
![img](https://img-blog.csdnimg.cn/img_convert/173f8612e88028cfb7e6024a32d48d7f.png)
![img](https://img-blog.csdnimg.cn/img_convert/9422e7a22b477ecf277fca1e727f1703.png)
![img](https://img-blog.csdnimg.cn/img_convert/65f0ef722e1660b2246030d1470fcc6b.png)
![img](https://img-blog.csdnimg.cn/img_convert/2d4e7b5e3aa7eefbe99e85f8cd40ccc1.png)
![img](https://img-blog.csdnimg.cn/img_convert/ca5261d90a17a9e67b949c9e6aafc40d.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上大数据开发知识点,真正体系化!**

**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**

**如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注大数据获取)**
![img](https://img-blog.csdnimg.cn/img_convert/8a5f6921c8824dd5213fe45340472dd7.png)

实战项目、讲解视频,并且后续会持续更新**

**如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注大数据获取)**
[外链图片转存中...(img-X9tnaiuN-1712858690894)]

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐