Spring boot整合MQTT做消息队列

本文介绍了如何使用Spring Boot与MQTT协议结合,实现消息队列的功能。首先简述了Apache Apollo作为消息代理的角色,然后展示了通过Maven引入MQTT第三方库,并提供了服务端和客户端的代码示例,包括发送断开回调的PushCallback.java。最后,文章总结了MQTT协议的作用以及Apache Apollo在消息推送中的作用,强调服务器作为消息中转站的角色。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  •  

  •   前言

            Apache Apollo是一个代理服务器,其是在ActiveMQ基础上发展而来的,可以支持STOMP, AMQP, MQTT, Openwire, SSL, and WebSockets 等多种协议。有关Apollo的搭建问题,参阅上一篇部落格

  •     正文

废话不多言,直接撸代码,先去maven的官网引入mqtt的第三方支持包。

       <dependency>
            <groupId>org.eclipse.paho</groupId>
            <artifactId>org.eclipse.paho.client.mqttv3</artifactId>
            <version>1.2.0</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.51</version>
        </dependency>

  Demo结构:

服务端的代码:

package com.example.demo.mqtt.server;


import com.example.demo.mqtt.PushCallback;
import org.eclipse.paho.client.mqttv3.*;
import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;


/**
 * Created by pengcheng.du on 2018/10/12.com.example.demo.mqtt.server.Server
 */
/*服务器端向客户端推送不同的主题*/
public class Server {
    public static final String SERVER_URL = "tcp://0.0.0.0:61613";
    public static List<String> TOPICList = new ArrayList<>(Arrays.asList("wether","car","topic"));
    public static String clientid;

    private MqttClient mqttClient;
    public MqttTopic mqttTopic1;
    private MqttTopic getMqttTopic2;
    private String username = "admin";
    private String password = "password";

    private MqttMessage mqttMessage;

    /*//创建新的topic链接的时候使用此构造方法
    public Server() throws Exception{
        mqttClient = new MqttClient(SERVER_URL, clientid, new MemoryPersistence());
        Server server = new Server();
        server.mqttMessage = new MqttMe
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值